Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
be3d90ea79 | |||
c5bbf92022 |
17
ssm
17
ssm
@@ -143,10 +143,12 @@ run_service_action() {
|
|||||||
|
|
||||||
spawn() {
|
spawn() {
|
||||||
if [[ $service_logfile_out == "$service_logfile_err" ]]; then
|
if [[ $service_logfile_out == "$service_logfile_err" ]]; then
|
||||||
exec "$@" >"$service_logfile_out" 2>&1
|
exec 3>"$service_logfile_out"
|
||||||
else
|
else
|
||||||
exec "$@" >"$service_logfile_out" 2>"$service_logfile_err"
|
exec 3>"$service_logfile_err"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
exec "$@" >"$service_logfile_out" 2>&3
|
||||||
}; readonly spawn;
|
}; readonly spawn;
|
||||||
|
|
||||||
cgroup_get_procs() {
|
cgroup_get_procs() {
|
||||||
@@ -243,7 +245,7 @@ svc() {
|
|||||||
# One service failure, two service failures...
|
# One service failure, two service failures...
|
||||||
if service_success_exit u "$job_exit"; then
|
if service_success_exit u "$job_exit"; then
|
||||||
job_success = 1
|
job_success = 1
|
||||||
(( fail_counter )) && fail_counter--
|
(( fail_counter )) && fail_counter=0
|
||||||
else
|
else
|
||||||
job_success = 0
|
job_success = 0
|
||||||
fail_counter++
|
fail_counter++
|
||||||
@@ -613,6 +615,7 @@ var flag_reset_exit = 0
|
|||||||
var flag_reread_service = 0
|
var flag_reread_service = 0
|
||||||
var flag_forget_service = 0
|
var flag_forget_service = 0
|
||||||
var flag_load_service = 0
|
var flag_load_service = 0
|
||||||
|
var flag_no_netns = 0
|
||||||
|
|
||||||
## check for some environment stuff
|
## check for some environment stuff
|
||||||
var EDITOR := 'vim'
|
var EDITOR := 'vim'
|
||||||
@@ -726,6 +729,9 @@ while (( $# )); do
|
|||||||
(-i|--info)
|
(-i|--info)
|
||||||
action = 'info';;
|
action = 'info';;
|
||||||
|
|
||||||
|
(--no-netns)
|
||||||
|
flag_no_netns = 1;;
|
||||||
|
|
||||||
(--) shift; break;;
|
(--) shift; break;;
|
||||||
(-*) printf 'Unknown key: %s\n' "$1" >&2; exit 1;;
|
(-*) printf 'Unknown key: %s\n' "$1" >&2; exit 1;;
|
||||||
(*) break;;
|
(*) break;;
|
||||||
@@ -822,6 +828,11 @@ flag_reset_exit && { reset-exit; die $?; }
|
|||||||
# Get the service config
|
# Get the service config
|
||||||
source -- "$service_config" "${@:3}" || die 7 "Failed to read the service config: $service_config"
|
source -- "$service_config" "${@:3}" || die 7 "Failed to read the service config: $service_config"
|
||||||
|
|
||||||
|
# Rexec ourselves in the requested netns
|
||||||
|
flag_no_netns || {
|
||||||
|
[[ $service_netns ]] && exec ip netns exec "$service_netns" "$0" --no-netns "$service_name" "$@"
|
||||||
|
}
|
||||||
|
|
||||||
# “Load” the service into memory
|
# “Load” the service into memory
|
||||||
if ! service_config == "$service_config_current" && service_remember; then
|
if ! service_config == "$service_config_current" && service_remember; then
|
||||||
cat "$service_config" > "$rundir/current/$service_name"
|
cat "$service_config" > "$rundir/current/$service_name"
|
||||||
|
Reference in New Issue
Block a user