Linux 一旦可执行文件关闭,在bash中执行几个命令?

Linux 一旦可执行文件关闭,在bash中执行几个命令?,linux,bash,Linux,Bash,我有一个在特定时间自动关闭的应用程序,有没有办法让bash脚本在应用程序关闭后执行一些命令(如移动日志文件、清理临时文件),然后重新启动它?可以重新发明这个轮子,尽管这不是一个好主意 这可以简单到: while :; do ./run-your-process do-some-cleanup done 但是真的,不要。使用runit、upstart、daemontools、systemd、supervisord或其他众多工具中的一种,可以为您实现这一过程的自动化。重新发明这个轮子是可能

我有一个在特定时间自动关闭的应用程序,有没有办法让bash脚本在应用程序关闭后执行一些命令(如移动日志文件、清理临时文件),然后重新启动它?

可以重新发明这个轮子,尽管这不是一个好主意

这可以简单到:

while :; do
  ./run-your-process
  do-some-cleanup
done

但是真的,不要。使用runit、upstart、daemontools、systemd、supervisord或其他众多工具中的一种,可以为您实现这一过程的自动化。

重新发明这个轮子是可能的,尽管这根本不是一个好主意

这可以简单到:

while :; do
  ./run-your-process
  do-some-cleanup
done

但是真的,不要。使用runit、upstart、daemontools、systemd、supervisord或其他众多工具中的一种,可以为您实现这一过程的自动化。

重新发明这个轮子是可能的,尽管这根本不是一个好主意

这可以简单到:

while :; do
  ./run-your-process
  do-some-cleanup
done

但是真的,不要。使用runit、upstart、daemontools、systemd、supervisord或其他众多工具中的一种,可以为您实现这一过程的自动化。

重新发明这个轮子是可能的,尽管这根本不是一个好主意

这可以简单到:

while :; do
  ./run-your-process
  do-some-cleanup
done

但是真的,不要。使用runit、upstart、daemontools、systemd、supervisord或其他众多工具中的一种,可以为您自动执行此过程。

如果您在后台启动脚本中的主进程,您可以使用“set-bm”在bash中打开作业控制,然后捕获SIGCHLD,并在信号处理程序中执行清理和重新启动

#!/bin/bash

set -bm

childexit() {
   ... cleanup and restart
}

trap 'childexit' SIGCHLD

mainprocess &

如果在后台启动脚本中的主进程,则可以使用“set-bm”在bash中打开作业控制,然后捕获SIGCHLD并在信号处理程序中进行清理和重新启动

#!/bin/bash

set -bm

childexit() {
   ... cleanup and restart
}

trap 'childexit' SIGCHLD

mainprocess &

如果在后台启动脚本中的主进程,则可以使用“set-bm”在bash中打开作业控制,然后捕获SIGCHLD并在信号处理程序中进行清理和重新启动

#!/bin/bash

set -bm

childexit() {
   ... cleanup and restart
}

trap 'childexit' SIGCHLD

mainprocess &

如果在后台启动脚本中的主进程,则可以使用“set-bm”在bash中打开作业控制,然后捕获SIGCHLD并在信号处理程序中进行清理和重新启动

#!/bin/bash

set -bm

childexit() {
   ... cleanup and restart
}

trap 'childexit' SIGCHLD

mainprocess &

实现这一点的最佳方法是采用过程监控系统。例如,
runit
将允许您提供一个
finish
脚本,以便在受监控流程退出时运行。最好的方法是使用流程监控系统。例如,
runit
将允许您提供一个
finish
脚本,以便在受监控流程退出时运行。最好的方法是使用流程监控系统。例如,
runit
将允许您提供一个
finish
脚本,以便在受监控流程退出时运行。最好的方法是使用流程监控系统。例如,
runit
将允许您提供一个
finish
脚本,以便在受监督的进程退出时运行。