diff options
-rw-r--r-- | src/vlib/cli.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/vlib/cli.c b/src/vlib/cli.c index 2d141115857..f853f655435 100644 --- a/src/vlib/cli.c +++ b/src/vlib/cli.c @@ -39,6 +39,7 @@ #include <vlib/vlib.h> #include <vppinfra/cpu.h> +#include <unistd.h> /* Root of all show commands. */ /* *INDENT-OFF* */ @@ -757,6 +758,25 @@ VLIB_CLI_COMMAND (cmd_test_heap_validate,static) = { }; /* *INDENT-ON* */ +static clib_error_t * +restart_cmd_fn (vlib_main_t * vm, unformat_input_t * input, + vlib_cli_command_t * cmd) +{ + char *newenviron[] = { NULL }; + + execve (vm->name, (char **) vm->argv, newenviron); + + return 0; +} + +/* *INDENT-OFF* */ +VLIB_CLI_COMMAND (restart_cmd,static) = { + .path = "restart", + .short_help = "restart process", + .function = restart_cmd_fn, +}; +/* *INDENT-ON* */ + #ifdef TEST_CODE /* * A trivial test harness to verify the per-process output_function |