From 811897239f2f63dc4e4f67e81f3236e5aa1d870f Mon Sep 17 00:00:00 2001 From: Stef Walter Date: Tue, 18 May 2004 17:30:47 +0000 Subject: Some argument changes. Documentation files. --- srcx/jkill.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) (limited to 'srcx/jkill.c') diff --git a/srcx/jkill.c b/srcx/jkill.c index fd3c110..3d30c48 100644 --- a/srcx/jkill.c +++ b/srcx/jkill.c @@ -34,7 +34,7 @@ int g_quiet = 0; int g_verbose = 0; static void kill_jail_processes(kvm_t* kd, int sig); -static int kill_jail(const char* jail, int restart, int force); +static int kill_jail(const char* jail, int usescripts, int restart, int force); static int check_running_processes(kvm_t* kd); static void usage(); @@ -45,9 +45,10 @@ int main(int argc, char* argv[]) int restart = 0; int force = 0; int verbose = 0; + int usescripts = 1; pid_t child; - while((ch = getopt(argc, argv, "fhqrt:v")) != -1) + while((ch = getopt(argc, argv, "fhkqrt:v")) != -1) { switch(ch) { @@ -60,6 +61,10 @@ int main(int argc, char* argv[]) warnx("the '-h' option has been depreciated"); break; + case 'k': + usescripts = 0; + break; + case 'q': g_quiet = 1; g_verbose = 0; @@ -94,6 +99,9 @@ int main(int argc, char* argv[]) if(argc == 0) usage(); + if(!usescripts && restart) + usage(); + if(running_in_jail()) errx(1, "can't run inside jail"); @@ -126,7 +134,7 @@ int main(int argc, char* argv[]) if(jail_attach(jid) == -1) err(1, "couldn't attach to jail"); - r = kill_jail(argv[0], restart, force); + r = kill_jail(argv[0], usescripts, restart, force); exit(r); #ifdef _DEBUG break; @@ -155,7 +163,7 @@ static char* SHUTDOWN_ARGS[] = { _PATH_BSHELL, SHUTDOWN_SCRIPT }; #define START_SCRIPT "/etc/rc" static char* START_ARGS[] = { _PATH_BSHELL, START_SCRIPT }; -static int kill_jail(const char* jail, int restart, int force) +static int kill_jail(const char* jail, int usescripts, int restart, int force) { kvm_t* kd = NULL; char errbuf[_POSIX2_LINE_MAX]; @@ -194,8 +202,8 @@ static int kill_jail(const char* jail, int restart, int force) case 0: /* Check if we have an executable shutdown script */ - if(check_jail_command(jail, SHUTDOWN_SCRIPT)) - run_jail_command(jail, SHUTDOWN_ARGS[0], SHUTDOWN_ARGS, cmdargs); + if(usescripts && check_jail_command(jail, SHUTDOWN_SCRIPT)) + run_jail_command(jail, SHUTDOWN_ARGS[0], SHUTDOWN_ARGS, cmdargs); break; @@ -309,7 +317,8 @@ static int check_running_processes(kvm_t* kd) static void usage() { - fprintf(stderr, "usage: killjail [-fqrv] [-t timeout] jailname ...\n"); + fprintf(stderr, "usage: jkill [-fkqv] [-t timeout] jail ...\n"); + fprintf(stderr, "usage: jkill -r [-fqv] [-t timeout] jail ...\n"); exit(2); } -- cgit v1.2.3