summaryrefslogtreecommitdiffhomepage
path: root/tools
diff options
context:
space:
mode:
authorAlejandro Colomar <alx@nginx.com>2023-06-06 14:55:14 +0200
committerAlejandro Colomar <alx@nginx.com>2023-06-27 17:45:49 +0200
commit2f46870a3f799ebb3a23e23b02a9dbee3a33ff46 (patch)
tree67ab8465d7e9eebcd857104a4d46b1efc431aa2c /tools
parente165801732defc5726a3c727b83e31bc3369026f (diff)
downloadunit-2f46870a3f799ebb3a23e23b02a9dbee3a33ff46.tar.gz
unit-2f46870a3f799ebb3a23e23b02a9dbee3a33ff46.tar.bz2
Tools: setup-unit: added restart command.
It restarts all running unitd instances. This is useful when recompiling unitd often, so that the latest build is running, without having to manually kill unitd instances and re-run with the same exact command line every time. Reviewed-by: Andrew Clayton <a.clayton@nginx.com> Signed-off-by: Alejandro Colomar <alx@nginx.com>
Diffstat (limited to 'tools')
-rwxr-xr-xtools/setup-unit51
1 files changed, 51 insertions, 0 deletions
diff --git a/tools/setup-unit b/tools/setup-unit
index c95d7b35..5baa5467 100755
--- a/tools/setup-unit
+++ b/tools/setup-unit
@@ -84,6 +84,7 @@ SYNOPSIS
├── os-probe [-h]
├── ps [-h] [-t TYPE]
├── repo-config [-hn] [PKG-MANAGER OS-NAME OS-VERSION]
+ ├── restart [-h]
├── sock [-h] SUBCOMMAND [ARGS]
│   ├── filter [-chs]
│   └── find [-h]
@@ -1219,6 +1220,52 @@ __EOF__";
}
+help_unit_restart()
+{
+ cat <<__EOF__ ;
+SYNOPSIS
+ $0 restart [-h]
+
+DESCRIPTION
+ Restart all running unitd(8) instances.
+
+OPTIONS
+ -h, --help
+ Print this help.
+
+__EOF__
+}
+
+
+unit_restart()
+{
+ while test $# -ge 1; do
+ case "$1" in
+ -h | --help)
+ help_unit_restart;
+ exit 0;
+ ;;
+ -*)
+ err "restart: $1: Unknown option.";
+ ;;
+ *)
+ err "restart: $1: Unknown argument.";
+ ;;
+ esac;
+ shift;
+ done;
+
+ local cmds="$(unit_cmd)";
+
+ pkill -e unitd;
+
+ printf '%s\n' "$cmds" \
+ | while read -r cmd; do
+ eval $cmd;
+ done;
+}
+
+
help_unit_sock()
{
cat <<__EOF__ ;
@@ -1478,6 +1525,10 @@ repo-config)
shift;
unit_repo_config $@;
;;
+restart)
+ shift;
+ unit_restart $@;
+ ;;
sock)
shift;
unit_sock $@;