Shell 0.4.52. "killall" added & bugfixes

git-svn-id: svn://kolibrios.org@1673 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Nasarus
2010-10-24 14:32:14 +00:00
parent 503a9f7a93
commit 9bd77b61cd
15 changed files with 48 additions and 16 deletions

View File

@@ -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

View File

@@ -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"

View 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;
}

View File

@@ -1,7 +1,7 @@
int cmd_reboot(char param[])
{
if (strcmp(param, "kernel"))
if (!strcmp(param, "kernel"))
{
kol_system_end(4);
return TRUE;

View File

@@ -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

View File

@@ -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

View File

@@ -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[]);
/// ===========================================================

View File

@@ -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},

View File

@@ -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},

View File

@@ -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);

View File

@@ -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));

View File

@@ -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);