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 |
