我有一个循环运行的脚本。我可以使用 ./run_my_script 轻松地从命令行手动启动脚本,但偶尔脚本会锁定,只需要重新启动。所以我 ctrl-c 并重新启动。现在我想创建一个 cron 来定期停止和重新启动脚本。所以在我的 cron 中,我输入了:
00 * * * * pkill -f ./run_my_script && /bin/sleep 15 && ./run_my_script
Run Code Online (Sandbox Code Playgroud)
这不起作用。它会杀死脚本但不会重新启动它,所以我尝试:
00 * * * * pkill -f ./run_my_script
00 * * * * /bin/sleep 15 && ./run_my_script
Run Code Online (Sandbox Code Playgroud)
这也行不通。它会杀死脚本,但不会重新启动它。所以我尝试:
00 * * * * pkill -f ./run_my_script
01 * * * * /bin/sleep 15 && ./run_my_script
Run Code Online (Sandbox Code Playgroud)
它工作得很好。问题是,我只需要在杀死和重新启动之间几秒钟,而不是整整一分钟。我该怎么做?
pkill
仅当“一个或多个进程符合条件”时以零状态退出。这就意味着,如果./run_my_script
尚未运行,首先&&
在
pkill -f ./run_my_script && /bin/sleep 15 && ./run_my_script
Run Code Online (Sandbox Code Playgroud)
将导致其余的不运行。
使用分号而不是 and 应该可以工作
pkill -f ./run_my_script ; /bin/sleep 15 && ./run_my_script
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1435 次 |
最近记录: |