1
我有一個python代碼,可以生成命令來記錄來自Ustream的實時流。在Python中給定時間運行shell腳本
我想設置一個cronjob每週運行一次腳本來記錄一個節目,是否有一個代碼可以在Python代碼中使用,以便在生成正確的命令後,它會在給定的時間內執行,然後停止它?
我想應該有一種方法來運行腳本,等待期望的時間,然後使用它的ID來終止進程。那是對的嗎?
我有一個python代碼,可以生成命令來記錄來自Ustream的實時流。在Python中給定時間運行shell腳本
我想設置一個cronjob每週運行一次腳本來記錄一個節目,是否有一個代碼可以在Python代碼中使用,以便在生成正確的命令後,它會在給定的時間內執行,然後停止它?
我想應該有一種方法來運行腳本,等待期望的時間,然後使用它的ID來終止進程。那是對的嗎?
啓動的進程啓動時可以將其進程ID寫入文件。然後創建另一個讀取該文件的cron作業,並殺死該文件中的進程ID。
你可以作爲選擇的(而不是修改啓動的進程)做出「啓動器」 bash腳本編寫將在啓動的進程的ID到一個文件:
#!/bin/bash -e
nohup python ustream_recorder.py > /tmp/ustream_recorder.log 2>&1 &
echo $! > /tmp/ustream_recorder.pid
然後,將其殺死:
#!/bin/bash -e
kill -INT `cat /tmp/ustream_recorder.pid`
rm /tmp/ustream_recorder.pid
我不是Python開發人員,請給我一個如何運行命令並獲取它的ID的例子嗎?謝謝。 – AngelGris
@LucianoGarcíaBes:我在我的答案中添加了一個bash腳本,它啓動一個進程並將其進程ID存儲到一個文件中。 – icktoofay
非常感謝。我沒有使用完全相同的代碼,但它給了我一個解決問題的想法,現在它正在工作。 – AngelGris