Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux cron中的Bash程序,每次程序终止时运行_Linux_Bash_Terminal_Cron_Web Scraping - Fatal编程技术网

Linux cron中的Bash程序,每次程序终止时运行

Linux cron中的Bash程序,每次程序终止时运行,linux,bash,terminal,cron,web-scraping,Linux,Bash,Terminal,Cron,Web Scraping,我想用这个作业在ubuntu中设置一个cron作业 我有一个PythonWebScraping程序,它需要在程序终止后不断地被废弃。换句话说,流程是这样的 If program is terminated, set the cron job again (until infinity in cron's method) something like * * * * * /python.py (but only when the python.py is terminated/finished)

我想用这个作业在ubuntu中设置一个cron作业

我有一个PythonWebScraping程序,它需要在程序终止后不断地被废弃。换句话说,流程是这样的

If program is terminated, set the cron job again (until infinity in cron's method)

something like * * * * * /python.py (but only when the python.py is terminated/finished)
有人能指导我写一个bash程序来完成这项工作吗?该程序是python.py


谢谢

当程序运行时,请在某处写入临时文件,并确保在程序终止时删除此文件

然后在每次程序运行时测试该文件是否存在。如果有就退出

run.sh

TMP_FILE=/tmp/i_am_running
[ -f $TMP_FILE ] && exit
touch $TMP_FILE
./python.py
rm $TMP_FILE
在crontab中,调用这个
run.sh
,而不是
python.py


请记住,如果脚本提前退出(被终止,等等),并且tmp文件保留在文件系统中,它将不会再次运行python.py。您还可以做一些事情来防止或检测类似情况。

使用mktemp:TMP_FILE=$(mktemp-t myapp.XXX)echo$TMP_FILE/TMP/myapp.025创建TMP_文件,并使用trap clean EXIT清理临时文件:clean(){rm$TMP_FILE;};trap clean EXITso如果程序崩溃或其他什么,那么它会影响程序的结果吗?它实际上是从一个网站上废弃数据。有没有更简单的方法作为替代?使用陷阱来处理早期存在/崩溃,这里你有一些其他的想法-一些其他的想法