簡體   English   中英

linux無法訪問crontab上的屏幕

[英]linux can't access screens on crontab

我創建了一個bash文件,該文件在名為“ cronscreen”的現有屏幕上執行python腳本。 bash文件包含以下行:

screen -S cronscreen -X stuff "python test.py$(printf \\r)"

當我從命令行運行文件時,它運行良好,並且在附加“ cronscreen”時看到輸出已打印。 但是,我希望它在cron中運行,因此我將crontab設置如下:

* * * * * myuser /home/myuser/myscript.sh > /home/ec2-user/agg.log

執行cron是因為我可以看到每分鍾都會重新生成文件agg.log,但是當我附加“ cronscreen”時,我看不到任何輸出(並且agg.log為空)。 這是為什么? 謝謝。

更新:

我還嘗試將腳本更改為此(重新連接屏幕),但沒有更改:

screen -r cronscreen
screen -S cronscreen -X stuff "python test.py$(printf \\r)"

屏幕需要一個tty active來創建會話,而該會話在cron下不可用。

您需要將其分為兩部分,第一部分是運行屏幕並使它分離-screen -dmS cronscreen,然后在您的cronjob中使用-r cronscreen附加到屏幕會話

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM