diff options
author | Eric Andersen <andersen@codepoet.org> | 2002-07-23 23:45:11 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2002-07-23 23:45:11 +0000 |
commit | 80cd3cfdbc924b1a032b0634be8930af3daf791f (patch) | |
tree | 68e6b17be6a05a9a75eb69984ffa8c5d6ec2f3e3 | |
parent | f2f26e7fdddfb92a8ef3654e14092dcbe3420331 (diff) | |
download | busybox-w32-80cd3cfdbc924b1a032b0634be8930af3daf791f.tar.gz busybox-w32-80cd3cfdbc924b1a032b0634be8930af3daf791f.tar.bz2 busybox-w32-80cd3cfdbc924b1a032b0634be8930af3daf791f.zip |
Fix indentation. Support killall -q, for pcmcia-cs
-Erik
-rw-r--r-- | procps/kill.c | 88 |
1 files changed, 52 insertions, 36 deletions
diff --git a/procps/kill.c b/procps/kill.c index ff00ea875..5f2f6618f 100644 --- a/procps/kill.c +++ b/procps/kill.c | |||
@@ -38,7 +38,7 @@ static const int KILLALL = 1; | |||
38 | 38 | ||
39 | extern int kill_main(int argc, char **argv) | 39 | extern int kill_main(int argc, char **argv) |
40 | { | 40 | { |
41 | int whichApp, sig = SIGTERM; | 41 | int whichApp, sig = SIGTERM, quiet; |
42 | const char *name; | 42 | const char *name; |
43 | 43 | ||
44 | #ifdef CONFIG_KILLALL | 44 | #ifdef CONFIG_KILLALL |
@@ -48,6 +48,7 @@ extern int kill_main(int argc, char **argv) | |||
48 | whichApp = KILL; | 48 | whichApp = KILL; |
49 | #endif | 49 | #endif |
50 | 50 | ||
51 | quiet=0; | ||
51 | argc--; | 52 | argc--; |
52 | argv++; | 53 | argv++; |
53 | /* Parse any options */ | 54 | /* Parse any options */ |
@@ -57,44 +58,49 @@ extern int kill_main(int argc, char **argv) | |||
57 | while (argc > 0 && **argv == '-') { | 58 | while (argc > 0 && **argv == '-') { |
58 | while (*++(*argv)) { | 59 | while (*++(*argv)) { |
59 | switch (**argv) { | 60 | switch (**argv) { |
60 | case 'l': | 61 | #ifdef CONFIG_KILLALL |
61 | if(argc>1) { | 62 | case 'q': |
62 | for(argv++; *argv; argv++) { | 63 | quiet++; |
63 | name = u_signal_names(*argv, &sig, -1); | 64 | break; |
64 | if(name!=NULL) | 65 | #endif |
65 | printf("%s\n", name); | 66 | case 'l': |
66 | } | 67 | if(argc>1) { |
67 | } else { | 68 | for(argv++; *argv; argv++) { |
68 | int col = 0; | 69 | name = u_signal_names(*argv, &sig, -1); |
69 | for(sig=1; sig < NSIG; sig++) { | 70 | if(name!=NULL) |
70 | name = u_signal_names(0, &sig, 1); | 71 | printf("%s\n", name); |
71 | if(name==NULL) /* unnamed */ | ||
72 | continue; | ||
73 | col += printf("%2d) %-16s", sig, name); | ||
74 | if (col > 60) { | ||
75 | printf("\n"); | ||
76 | col = 0; | ||
77 | } | 72 | } |
78 | } | 73 | } else { |
79 | printf("\n"); | 74 | int col = 0; |
80 | } | 75 | for(sig=1; sig < NSIG; sig++) { |
81 | return EXIT_SUCCESS; | 76 | name = u_signal_names(0, &sig, 1); |
82 | case '-': | 77 | if(name==NULL) /* unnamed */ |
83 | show_usage(); | 78 | continue; |
84 | default: | 79 | col += printf("%2d) %-16s", sig, name); |
85 | name = u_signal_names(*argv, &sig, 0); | 80 | if (col > 60) { |
86 | if(name==NULL) | 81 | printf("\n"); |
87 | error_msg_and_die( "bad signal name: %s", *argv); | 82 | col = 0; |
88 | argc--; | ||
89 | argv++; | ||
90 | goto do_it_now; | ||
91 | } | 83 | } |
84 | } | ||
85 | printf("\n"); | ||
86 | } | ||
87 | return EXIT_SUCCESS; | ||
88 | case '-': | ||
89 | show_usage(); | ||
90 | default: | ||
91 | name = u_signal_names(*argv, &sig, 0); | ||
92 | if(name==NULL) | ||
93 | error_msg_and_die( "bad signal name: %s", *argv); | ||
94 | argc--; | ||
95 | argv++; | ||
96 | goto do_it_now; | ||
97 | } | ||
92 | argc--; | 98 | argc--; |
93 | argv++; | 99 | argv++; |
94 | } | 100 | } |
95 | } | 101 | } |
96 | 102 | ||
97 | do_it_now: | 103 | do_it_now: |
98 | 104 | ||
99 | if (whichApp == KILL) { | 105 | if (whichApp == KILL) { |
100 | /* Looks like they want to do a kill. Do that */ | 106 | /* Looks like they want to do a kill. Do that */ |
@@ -104,8 +110,9 @@ extern int kill_main(int argc, char **argv) | |||
104 | if (!isdigit(**argv)) | 110 | if (!isdigit(**argv)) |
105 | perror_msg_and_die( "Bad PID"); | 111 | perror_msg_and_die( "Bad PID"); |
106 | pid = strtol(*argv, NULL, 0); | 112 | pid = strtol(*argv, NULL, 0); |
107 | if (kill(pid, sig) != 0) | 113 | if (kill(pid, sig) != 0) { |
108 | perror_msg_and_die( "Could not kill pid '%d'", pid); | 114 | perror_msg_and_die( "Could not kill pid '%d'", pid); |
115 | } | ||
109 | argv++; | 116 | argv++; |
110 | } | 117 | } |
111 | } | 118 | } |
@@ -120,14 +127,23 @@ extern int kill_main(int argc, char **argv) | |||
120 | pidList = find_pid_by_name( *argv); | 127 | pidList = find_pid_by_name( *argv); |
121 | if (!pidList || *pidList<=0) { | 128 | if (!pidList || *pidList<=0) { |
122 | all_found = FALSE; | 129 | all_found = FALSE; |
123 | error_msg_and_die( "%s: no process killed", *argv); | 130 | if (quiet) { |
131 | exit(EXIT_FAILURE); | ||
132 | } else { | ||
133 | error_msg_and_die( "%s: no process killed", *argv); | ||
134 | } | ||
124 | } | 135 | } |
125 | 136 | ||
126 | for(; pidList && *pidList!=0; pidList++) { | 137 | for(; pidList && *pidList!=0; pidList++) { |
127 | if (*pidList==myPid) | 138 | if (*pidList==myPid) |
128 | continue; | 139 | continue; |
129 | if (kill(*pidList, sig) != 0) | 140 | if (kill(*pidList, sig) != 0) { |
130 | perror_msg_and_die( "Could not kill pid '%d'", *pidList); | 141 | if (quiet) { |
142 | exit(EXIT_FAILURE); | ||
143 | } else { | ||
144 | perror_msg_and_die( "Could not kill pid '%d'", *pidList); | ||
145 | } | ||
146 | } | ||
131 | } | 147 | } |
132 | /* Note that we don't bother to free the memory | 148 | /* Note that we don't bother to free the memory |
133 | * allocated in find_pid_by_name(). It will be freed | 149 | * allocated in find_pid_by_name(). It will be freed |