kolibrios/programs/system/shell/cmd/cmd_pkill.c
turbocat e54c8af781 SHELL:
- Added pkill command

git-svn-id: svn://kolibrios.org@8662 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-04-01 22:06:12 +00:00

50 lines
1.3 KiB
C
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

int cmd_pkill(char param[])
{
int i=1, n=0; int process_count=0;
char *buf1k=NULL;
unsigned PID=0;
#ifdef LANG_RUS
#define PKILL_HELP " pkill <¨¬ï_¯à®æ¥áá >\n\r"
#define PKILL_KILL " PID: %u - 㡨â\n"
#define PKILL_NOT_KILL " PID: %u - ­¥ 㡨â\n"
#define PKILL_NOT_FOUND " <20>à®æ¥áᮢ á â ª¨¬ ¨¬¥­¥¬ ­¥ ­ ©¤¥­®!\n"
#else
#define PKILL_HELP " pkill <process_name>\n\r"
#define PKILL_KILL " PID: %u - killed\n"
#define PKILL_NOT_KILL " PID: %u - not killed\n"
#define PKILL_NOT_FOUND " No processes with this name were found!\n"
#endif
if(!strlen(param)){
printf(PKILL_HELP);
return TRUE;
}
buf1k = malloc(1024);
if(buf1k==NULL){
return FALSE;
}
while(i!=n){
n = kol_process_info(i, buf1k);
if(!strnicmp(buf1k+10, param, 10)){
memcpy(&PID, buf1k+30 ,sizeof(unsigned));
if(kol_process_kill_pid(PID)){
printf(PKILL_NOT_KILL, PID);
}else{
printf(PKILL_KILL, PID);
}
process_count++;
}
i++;
}
if(!process_count){
printf(PKILL_NOT_FOUND);
}
free(buf1k);
return TRUE;
}