Index: /soft/giet_vm/applications/shell/main.c
===================================================================
--- /soft/giet_vm/applications/shell/main.c	(revision 642)
+++ /soft/giet_vm/applications/shell/main.c	(revision 643)
@@ -21,8 +21,10 @@
 
 ////////////////////////////////////////////////////////////////////////////////
-//// commands
+//  Shell  Commands
+////////////////////////////////////////////////////////////////////////////////
 
 struct command_t cmd[];
 
+///////////////////////////////////////////
 static void cmd_help(int argc, char** argv)
 {
@@ -37,4 +39,5 @@
 }
 
+///////////////////////////////////////////////
 static void cmd_proctime(int argc, char** argv)
 {
@@ -42,4 +45,5 @@
 }
 
+/////////////////////////////////////////
 static void cmd_ls(int argc, char** argv)
 {
@@ -53,4 +57,5 @@
 }
 
+////////////////////////////////////////////
 static void cmd_mkdir(int argc, char** argv)
 {
@@ -68,4 +73,5 @@
 }
 
+/////////////////////////////////////////
 static void cmd_cp(int argc, char** argv)
 {
@@ -151,4 +157,5 @@
 }
 
+////////////////////////////////////////////
 static void cmd_rmdir(int argc, char **argv)
 {
@@ -166,4 +173,5 @@
 }
 
+/////////////////////////////////////////
 static void cmd_mv(int argc, char **argv)
 {
@@ -181,4 +189,41 @@
 }
 
+///////////////////////////////////////////
+static void cmd_exec(int argc, char **argv)
+{
+    if (argc < 2)
+    {
+        giet_tty_printf("%s <pathname>\n", argv[0]);
+        return;
+    }
+
+    int ret = giet_exec_application(argv[1]);
+    if ( ret == -1 )
+    {
+        giet_tty_printf("\n  error : %s not found\n", argv[1] );
+    }
+}
+
+///////////////////////////////////////////
+static void cmd_kill(int argc, char **argv)
+{
+    if (argc < 2)
+    {
+        giet_tty_printf("%s <pathname>\n", argv[0]);
+        return;
+    }
+
+    int ret = giet_kill_application(argv[1]);
+    if ( ret == -1 )
+    {
+        giet_tty_printf("\n  error : %s not found\n", argv[1] );
+    }
+    if ( ret == -2 )
+    {
+        giet_tty_printf("\n  error : %s cannot be killed\n", argv[0] );
+    }
+}
+
+////////////////////////////////////////////////////////////////////
 struct command_t cmd[] =
 {
@@ -191,11 +236,13 @@
     { "rmdir",      cmd_rmdir },
     { "mv",         cmd_mv },
+    { "exec",       cmd_exec },
+    { "kill",       cmd_kill },
     { NULL,         NULL }
 };
 
-////////////////////////////////////////////////////////////////////////////////
-//// shell
-
-static void exec(char *buf, int count)
+// shell
+
+///////////////////////////////////////
+static void parse(char *buf, int count)
 {
     int argc = 0;
@@ -239,9 +286,10 @@
         if (!found)
         {
-            giet_tty_printf("unknown command %s\n", argv[0]);
-        }
-    }
-}
-
+            giet_tty_printf("undefined command %s\n", argv[0]);
+        }
+    }
+}
+
+////////////////////
 static void prompt()
 {
@@ -279,5 +327,5 @@
             {
                 buf[count] = '\0';
-                exec((char*)&buf, count);
+                parse((char*)&buf, count);
             }
             prompt();
Index: /soft/giet_vm/applications/shell/shell.py
===================================================================
--- /soft/giet_vm/applications/shell/shell.py	(revision 642)
+++ /soft/giet_vm/applications/shell/shell.py	(revision 643)
@@ -33,5 +33,5 @@
 
     # create vspace
-    vspace = mapping.addVspace( name = 'shell', startname = 'shell_data' )
+    vspace = mapping.addVspace( name = 'shell', startname = 'shell_data' , active = True )
     
     # data vseg
