* docs: Fix fuser.1 groff errors Debian #900225
* killall: look at all namespaces by default
* killall: Fix -INT option parsing #11
- * killall: change to getopt_long without _only #12
* killall: ignore -n 0 #15
+ * killall: another crack at fixing getopt #12 #13
* peekfd: Attach to all threads option !15
* pslog: Define PATH_MAX if required Debian:#905797
opterr = 0;
#ifdef WITH_SELINUX
- while ( (optc = getopt_long(argc,argv,"egy:o:ilqrs:u:vwZ:VIn:",options,NULL)) != -1) {
+ while ( (optc = getopt_long_only(argc,argv,"egy:o:ilqrs:u:vwZ:VIn:",options,NULL)) != -1) {
#else
while ( (optc = getopt_long_only(argc,argv,"egy:o:ilqrs:u:vwVIn:",options,NULL)) != -1) {
#endif
ignore_case = 1;
} else {
sig_num = get_signal (argv[optind]+1, "killall");
- skip_error=1;
+ skip_error=optind;
}
break;
case 'V':
if (strcmp(argv[optind-1],"-V") == 0 || strncmp(argv[optind-1],"--",2) == 0) {
print_version();
return 0;
+ } else {
+ sig_num = get_signal (argv[optind]+1, "killall");
+ skip_error=optind;
}
- sig_num = get_signal (argv[optind]+1, "killall");
break;
case 'n': {
long num;
break;
#endif /*WITH_SELINUX*/
case '?':
+ if (skip_error == optind)
+ break;
+ /* Sigh, this is a hack because -ve could be -version or
+ * -verbose */
+ if (strncmp(argv[optind-1], "-ve", 3) == 0) {
+ verbose=1;
+ exact=1;
+ break;
+ }
/* Signal names are in uppercase, so check to see if the argv
* is upper case */
if (argv[optind-1][1] >= 'A' && argv[optind-1][1] <= 'Z') {
if (argv[optind-1][1] >= '0' && argv[optind-1][1] <= '9') {
sig_num = atoi(argv[optind-1]+1);
} else {
- if (skip_error)
- skip_error=0;
- else
usage(NULL);
}
}
spawn $killall ${fake_proc_name}
expect_pass "$test" "${fake_proc_name}: no process found"
+set test "killall using -ve"
+spawn $killall -ve ${fake_proc_name}
+expect_pass "$test" "${fake_proc_name}: no process found"
+
+set signals [regexp -all -inline {\w+} [exec $killall -l]]
+foreach signame $signals {
+ set test "killall using signal $signame"
+ spawn $killall -$signame ${fake_proc_name}
+ expect_pass "$test" "${fake_proc_name}: no process found"
+ set test "killall using signal SIG$signame"
+ spawn $killall -SIG$signame ${fake_proc_name}
+ expect_pass "$test" "${fake_proc_name}: no process found"
+}