Subversion Repositories Kolibri OS

Rev

Rev 8662 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 8662 Rev 8827
Line -... Line 1...
-
 
1
int cmd_pkill(char param[])
1
int cmd_pkill(char param[])
2
{
2
{
3
    int i = 1, n = 0; int process_count = 0;
3
    int i=1, n=0; int process_count=0;
4
    char *buf1k = NULL;
4
    char *buf1k=NULL;
5
    unsigned PID=0;
5
    unsigned PID=0;
6
    
Line 6... Line -...
6
    
-
 
7
    #ifdef LANG_RUS
-
 
8
        #define PKILL_HELP      "  pkill <¨¬ï_¯à®æ¥áá >\n\r"
-
 
9
        #define PKILL_KILL      "  PID: %u - 㡨â\n"
-
 
10
        #define PKILL_NOT_KILL  "  PID: %u - ­¥ 㡨â\n"
-
 
11
        #define PKILL_NOT_FOUND "  à®æ¥áᮢ á â ª¨¬ ¨¬¥­¥¬ ­¥ ­ ©¤¥­®!\n"
-
 
12
    #else
-
 
13
        #define PKILL_HELP      "  pkill \n\r"
-
 
14
        #define PKILL_KILL      "  PID: %u - killed\n"
-
 
15
        #define PKILL_NOT_KILL  "  PID: %u - not killed\n"
-
 
16
        #define PKILL_NOT_FOUND "  No processes with this name were found!\n"
-
 
17
    #endif
-
 
18
 
-
 
19
 
7
    if(!strlen(param)){
20
    if(!strlen(param)){
8
        printf(CMD_PKILL_HELP);
21
        printf(PKILL_HELP);
9
        return TRUE;
22
        return TRUE;
10
	}
Line 23... Line 11...
23
	}
11
    
24
    
12
    buf1k = malloc(1024);
Line 30... Line 18...
30
	while(i!=n){
18
	    n = kol_process_info(i, buf1k);
31
	    n = kol_process_info(i, buf1k);
19
        if(!strnicmp(buf1k+10, param, 10)){
32
        if(!strnicmp(buf1k+10, param, 10)){
20
            memcpy(&PID, buf1k+30 ,sizeof(unsigned));
33
            memcpy(&PID, buf1k+30 ,sizeof(unsigned));
21
            if(kol_process_kill_pid(PID)){
34
            if(kol_process_kill_pid(PID)){
22
                printf(CMD_PKILL_NOT_KILL, PID);
35
                printf(PKILL_NOT_KILL, PID);
23
            }else{
36
            }else{
24
                printf(CMD_PKILL_KILL, PID);
37
                printf(PKILL_KILL, PID);
25
            }
38
            }
26
            process_count++;
39
            process_count++;
27
        }
40
        }
28
        i++;
41
        i++;
29
    }
42
    }
30
 
Line 43... Line 31...
43
 
31
    if(!process_count){
44
    if(!process_count){
32
        printf(CMD_PKILL_NOT_FOUND);
45
        printf(PKILL_NOT_FOUND);
33
    }
Line 46... Line 34...
46
    }
34
 
47
 
35
    free(buf1k);
48
    free(buf1k);
36
    return TRUE;
49
    return TRUE;
37
}