forked from KolibriOS/kolibrios
Shell 0.4.52. "killall" added & bugfixes
git-svn-id: svn://kolibrios.org@1673 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -1,9 +1,16 @@
|
||||
DDDD@@@@@@@@@@@@!!!!!!!!!!!!!!!!!!!!!
|
||||
Shell 0.4.52 // 25.10.2010 // Pterox
|
||||
=======================================
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "killall" - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> OS/IDLE.
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
Shell 0.4.51 // 21.10.2010 // Pterox
|
||||
=======================================
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "turnoff" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> "shutdown", "kerver" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "ver kernel"; <20><><EFBFBD><EFBFBD><EFBFBD>.
|
||||
|
||||
Shell 0.4.5 // 19.10.2010 // Pterox
|
||||
=======================================
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>). <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "free" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> "memory" - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "free" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> "memory" - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> turnoff (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>), kerver (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> KoOS), uptime; reboot <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ("reboot kernel")
|
||||
|
||||
Shell 0.4.4 // 20.08.2010 // Albom
|
||||
|
@@ -37,6 +37,7 @@
|
||||
#include "cmd/cmd_sleep.c"
|
||||
#include "cmd/cmd_shutdown.c"
|
||||
#include "cmd/cmd_uptime.c"
|
||||
#include "cmd/cmd_killall.c"
|
||||
|
||||
#include "modules/module_command.c"
|
||||
#include "modules/module_program.c"
|
||||
|
Binary file not shown.
Binary file not shown.
15
programs/system/shell/cmd/cmd_killall.c
Normal file
15
programs/system/shell/cmd/cmd_killall.c
Normal file
@@ -0,0 +1,15 @@
|
||||
|
||||
int cmd_killall(char process_name[])
|
||||
{
|
||||
|
||||
unsigned i;
|
||||
if (!strlen(process_name))
|
||||
{
|
||||
for (i = 2;i<256;i++)
|
||||
{
|
||||
kol_kill_process(i);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
@@ -1,7 +1,7 @@
|
||||
|
||||
int cmd_reboot(char param[])
|
||||
{
|
||||
if (strcmp(param, "kernel"))
|
||||
if (!strcmp(param, "kernel"))
|
||||
{
|
||||
kol_system_end(4);
|
||||
return TRUE;
|
||||
|
@@ -6,10 +6,10 @@ gcc -c shell.c
|
||||
gcc -c system/kolibri.c
|
||||
gcc -c system/stdlib.c
|
||||
gcc -c system/string.c
|
||||
ld -nostdlib -T kolibri.ld -o shell.kex start.o kolibri.o stdlib.o string.o shell.o
|
||||
objcopy shell.kex -O binary
|
||||
ld -nostdlib -T kolibri.ld -o shell start.o kolibri.o stdlib.o string.o shell.o
|
||||
objcopy shell -O binary
|
||||
erase lang.h start.o shell.o kolibri.o stdlib.o string.o
|
||||
kpack shell.kex
|
||||
move shell.kex bin\eng\
|
||||
kpack shell
|
||||
move shell bin\eng\
|
||||
copy locale\eng\.shell bin\eng\
|
||||
pause
|
@@ -6,10 +6,10 @@ gcc -c shell.c
|
||||
gcc -c system/kolibri.c
|
||||
gcc -c system/stdlib.c
|
||||
gcc -c system/string.c
|
||||
ld -nostdlib -T kolibri.ld -o shell.kex start.o kolibri.o stdlib.o string.o shell.o
|
||||
objcopy shell.kex -O binary
|
||||
ld -nostdlib -T kolibri.ld -o shell start.o kolibri.o stdlib.o string.o shell.o
|
||||
objcopy shell -O binary
|
||||
erase lang.h start.o shell.o kolibri.o stdlib.o string.o
|
||||
kpack shell.kex
|
||||
move shell.kex bin\rus\
|
||||
kpack shell
|
||||
move shell bin\rus\
|
||||
copy locale\rus\.shell bin\rus\
|
||||
pause
|
@@ -1,5 +1,5 @@
|
||||
|
||||
#define SHELL_VERSION "0.4.51"
|
||||
#define SHELL_VERSION "0.4.52"
|
||||
|
||||
extern char PATH[256];
|
||||
extern char PARAM[256];
|
||||
@@ -65,6 +65,7 @@ int cmd_ver(char arg[]);
|
||||
int cmd_sleep(char arg[]);
|
||||
int cmd_shutdown(char arg[]);
|
||||
int cmd_uptime(char param[]);
|
||||
int cmd_killall(char process_name[]);
|
||||
|
||||
/// ===========================================================
|
||||
|
||||
|
@@ -11,6 +11,7 @@ const command_t COMMANDS[]=
|
||||
{"memory", " Displays total, free and used memory\n\r", &cmd_memory},
|
||||
{"help", " Gives help on commands. Usage:\n\r help ;it lists all builtins\n\r help <command> ;help on command\n\r", &cmd_help},
|
||||
{"kill", " Stops a running process. Usage:\n\r kill <PID of process>\n\r", &cmd_kill},
|
||||
{"killall", " Kills all running processes\n\r", &cmd_killall},
|
||||
{"ls", " Lists the files in a directory. Usage:\n\r ls ;lists the files in current directory\n\r ls <directory> ;lists the files at specified folder\n\r", &cmd_ls},
|
||||
{"mkdir", " Makes directory. Usage:\n\r mkdir <folder name> ;creates the folder in working directory\n\r mkdir <path><folder name> ;create folder by specified path\n\r", &cmd_mkdir},
|
||||
{"more", " Displays a file data to the screen. Usage:\n\r more <file name>\n\r", &cmd_more},
|
||||
|
@@ -11,6 +11,7 @@ const command_t COMMANDS[]=
|
||||
{"memory", " <20><><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20>ᥩ, <><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD>㥬<EFBFBD><E3A5AC>\n\r", &cmd_memory},
|
||||
{"help", " <20><>ࠢ<EFBFBD><E0A0A2> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD><EFBFBD>:\n\r help ;ᯨ᮪ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n\r help <<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>> ;<3B><>ࠢ<EFBFBD><E0A0A2> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n\r", &cmd_help},
|
||||
{"kill", " <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD><EFBFBD>:\n\r kill <PID <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>>\n\r", &cmd_kill},
|
||||
{"killall", " <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>饭<EFBFBD><E9A5AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n\r", &cmd_killall},
|
||||
{"ls", " <20>뢮<EFBFBD><EBA2AE><EFBFBD> ᯨ᮪ 䠩<><E4A0A9><EFBFBD>. <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD><EFBFBD>:\n\r ls ;ᯨ᮪ 䠩<><E4A0A9><EFBFBD> <20> ⥪<>饬 <20><>⠫<EFBFBD><E2A0AB><EFBFBD>\n\r ls <<3C><>४<EFBFBD><E0A5AA><EFBFBD><EFBFBD><EFBFBD>> ;ᯨ᮪ 䠩<><E4A0A9><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>४<EFBFBD><E0A5AA>ਨ\n\r", &cmd_ls},
|
||||
{"mkdir", " <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⠫<EFBFBD><E2A0AB>. <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD><EFBFBD>:\n\r mkdir <<3C><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>> ;ᮧ<><E1AEA7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> ⥪<>饬 <20><>⠫<EFBFBD><E2A0AB><EFBFBD>\n\r mkdir <<3C><><EFBFBD><EFBFBD>><<3C><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>> ;ᮧ<><E1AEA7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> 㪠<><E3AAA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>\n\r", &cmd_mkdir},
|
||||
{"more", " <20>뢮<EFBFBD><EBA2AE><EFBFBD> ᮤ<>ন<EFBFBD><E0A6A8><EFBFBD> 䠩<><E4A0A9> <20><> <20><>࠭. <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD><EFBFBD>:\n\r more <<3C><><EFBFBD> 䠩<><E4A0A9>>\n\r", &cmd_more},
|
||||
|
@@ -8,11 +8,11 @@ char exec[256];
|
||||
#if LANG_ENG
|
||||
char error_starting[]={" No such command '%s'.\n\r"};
|
||||
#elif LANG_RUS
|
||||
char error_starting[]={" <20><> ⠪<><E2A0AA> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - '%s'.\n\r"};
|
||||
char error_starting[]={" <20><><EFBFBD> ⠪<><E2A0AA> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - '%s'.\n\r"};
|
||||
#endif
|
||||
int result;
|
||||
|
||||
if ( '/' == cmd[0]) // <20> <20><><EFBFBD><EFBFBD> <20><>᮫<EFBFBD><E1AEAB><EFBFBD><EFBFBD><EFBFBD>
|
||||
if ( '/' == cmd[0]) // <20> <20><><EFBFBD><EFBFBD> <20><>᮫<EFBFBD><E1AEAB><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
strcpy(exec, cmd);
|
||||
|
||||
|
@@ -411,6 +411,11 @@ int kol_process_kill_pid(unsigned process)
|
||||
asm ("int $0x40"::"a"(18), "b"(18), "c"(process));
|
||||
}
|
||||
|
||||
int kol_kill_process(unsigned process)
|
||||
{
|
||||
asm ("int $0x40"::"a"(18), "b"(2), "c"(process));
|
||||
}
|
||||
|
||||
void kol_get_kernel_ver(char buff16b[])
|
||||
{
|
||||
asm ("int $0x40"::"a"(18), "b"(13), "c"(buff16b));
|
||||
|
@@ -89,3 +89,4 @@ unsigned kol_sound_speaker(char data[]);
|
||||
unsigned kol_process_info(unsigned slot, char buf1k[]);
|
||||
int kol_process_kill_pid(unsigned process);
|
||||
void kol_get_kernel_ver(char buff16b[]);
|
||||
int kol_kill_process(unsigned process);
|
Reference in New Issue
Block a user