我正在尝试使用:
从其他脚本test1执行一个脚本 - test2bash -c "/test2 -f$(printf " /etc/test2.conf" "$@")"
一切都很好。问题是test2脚本连续运行并且无法中断,因此test1脚本也在运行。这是不必要的,应该停止test1。
我需要的所有test1脚本都是执行test2脚本并退出。
我想只用没有cron或任何类似工具的bash来完成任务。
谢谢。
答案 0 :(得分:0)
test1已经是一个bash脚本,所以它不需要调用bash。如果test2是可执行的(有+ x设置)那么它是一个命令,可以直接使用。
/path/to/test2 -f$(printf "/etc/test2.conf" "$@") &
&符号分叉命令并让它运行。然后test1就可以退出了。
当您关闭控制台,注销等时,上述操作将被挂起信号终止。nohup
修复了此问题。
nohup /path/to/test2 -f$(printf "/etc/test2.conf" "$@") &