Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.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
Python cron作业没有';t输出到nohup.out_Python_Bash_Ubuntu_Cron_Crontab - Fatal编程技术网

Python cron作业没有';t输出到nohup.out

Python cron作业没有';t输出到nohup.out,python,bash,ubuntu,cron,crontab,Python,Bash,Ubuntu,Cron,Crontab,我有start.shbash脚本,它通过ubuntu服务器上的CRON作业运行 start.sh包含下面提到的代码行 start.sh的路径是/home/ubuntu/folder1/folder2/start.sh #!/bin/bash crawlers(){ nohup scrapy crawl first & nohup scrapy crawl 2nd & wait $! nohup scrapy crawl 3rd &

我有start.shbash脚本,它通过ubuntu服务器上的CRON作业运行

start.sh包含下面提到的代码行

start.sh的路径是
/home/ubuntu/folder1/folder2/start.sh

#!/bin/bash

crawlers(){
    nohup scrapy crawl first &
    nohup scrapy crawl 2nd &
    wait $!
    nohup scrapy crawl 3rd &
    nohup scrapy crawl 4th &
    wait
}

cd /home/ubuntu/folder1/folder2/
PATH=$PATH:/usr/local/bin
export PATH

python init.py &
wait $!
crawlers
python final.py
我的问题是,如果我在命令行上运行start.sh我自己,它将输出到nohup.out文件中

但是当它通过cronjob执行这个bash文件时(尽管脚本运行正常),它不会生成nohup.out


如何在nohup.out中获得此cronjob的输出

为什么要使用
nohup
nohup
是一个命令,告诉正在运行的终端忽略挂断信号<但是,code>cron没有挂断信号,因为它没有链接到终端会话

在这种情况下,不是:

nohup scrapy crawl first &
您可能想要:

scrapy crawl first > first.txt &

最后一个示例也适用于终端,但当您关闭终端时,会发送挂断信号(
hup
),从而结束程序。

您如何/在何处创建此nohup.out文件?请记住,cron作业的默认工作目录是它们正在运行的用户ID的homeditory。如果您使用的是此文件的相对路径,那么您将相对于帐户的主目录,而不是您自己的当前shelldirectory@MarcB我是linux上的noob。。每一行都在nohup中添加输出,例如nohup scrapy crawl 3rd&我在crontab 40 10***/home/ubuntu/folder1/folder2/start.shFYI中添加了它:构造
python init.py&wait$(跨越两行)是毫无意义的;放下
&
并卸下
等待
。这不是你问题的一个因素;它也可以像写的那样工作。但这是毫无意义的。