347 |
/* -xa (at least one) is required if -S is given */ |
/* -xa (at least one) is required if -S is given */ |
348 |
/* -q turns off -v */ |
/* -q turns off -v */ |
349 |
opt_complementary = "K:S:K--S:S--K:m?p:K?xpun:S?xa" |
opt_complementary = "K:S:K--S:S--K:m?p:K?xpun:S?xa" |
350 |
USE_FEATURE_START_STOP_DAEMON_FANCY("q-v"); |
IF_FEATURE_START_STOP_DAEMON_FANCY("q-v"); |
351 |
opt = getopt32(argv, "KSbqtma:n:s:u:c:x:p:" |
opt = getopt32(argv, "KSbqtma:n:s:u:c:x:p:" |
352 |
USE_FEATURE_START_STOP_DAEMON_FANCY("ovN:R:"), |
IF_FEATURE_START_STOP_DAEMON_FANCY("ovN:R:"), |
353 |
&startas, &cmdname, &signame, &userspec, &chuid, &execname, &pidfile |
&startas, &cmdname, &signame, &userspec, &chuid, &execname, &pidfile |
354 |
USE_FEATURE_START_STOP_DAEMON_FANCY(,&opt_N) |
IF_FEATURE_START_STOP_DAEMON_FANCY(,&opt_N) |
355 |
/* We accept and ignore -R <param> / --retry <param> */ |
/* We accept and ignore -R <param> / --retry <param> */ |
356 |
USE_FEATURE_START_STOP_DAEMON_FANCY(,NULL) |
IF_FEATURE_START_STOP_DAEMON_FANCY(,NULL) |
357 |
); |
); |
358 |
|
|
359 |
if (opt & OPT_s) { |
if (opt & OPT_s) { |
366 |
if (!execname) /* in case -a is given and -x is not */ |
if (!execname) /* in case -a is given and -x is not */ |
367 |
execname = startas; |
execname = startas; |
368 |
|
|
369 |
// USE_FEATURE_START_STOP_DAEMON_FANCY( |
// IF_FEATURE_START_STOP_DAEMON_FANCY( |
370 |
// if (retry_arg) |
// if (retry_arg) |
371 |
// retries = xatoi_u(retry_arg); |
// retries = xatoi_u(retry_arg); |
372 |
// ) |
// ) |
443 |
} |
} |
444 |
#endif |
#endif |
445 |
execvp(startas, argv); |
execvp(startas, argv); |
446 |
bb_perror_msg_and_die("cannot start %s", startas); |
bb_perror_msg_and_die("can't start %s", startas); |
447 |
} |
} |