2013-03-07 114 views
-1

所以我有一個啓動腳本,它假設在後臺使用nohup運行這個python腳本。我使用nohup是因爲如果我登錄或不登錄,我不希望它依賴於它。所以,它是從SD卡上運行的,然後我變成了一張圖像並燒到了另一張卡上。Linux nohup命令無法正常工作

奇怪的是,它在第​​一個而不是第二個中正常工作。我可以在第一個頁面查看nohub.out並查看預期的輸出,但在副本中它完全空白。

當我做ps aux | grep python我可以看到兩個腳本進程運行,所以我不知道爲什麼這個副本似乎沒有在做它假設的東西

+0

你是否在新的SD卡上使用基於'nix'的文件系統?另外還可以告訴我們你是如何創建圖像並將其傳輸到第二張SD卡的?由於您轉移的方式,可能會有一些不一致之處。 – Tuxdude 2013-03-07 20:22:49

回答

0

我想通了。顯然,他們都必須因某種原因而被鎖定。當我這樣做時,他們按預期工作

2

沒有完整的上下文,很難猜測,但差異可能會干擾僅僅是因爲其中一個SD卡是寫保護的 - 或者是隻讀的。如果情況並非如此,你可以請帖後輸出

mount 

兩張卡嗎?

您可能希望使用screen代替nohup:啓動

screen 

然後正常運行該程序,然後按下Ctrl + A分離然後D.以後(甚至註銷後重新獲得對終端的控制)與

screen -r 
+0

我知道它不是寫保護的,因爲我一直在編輯腳本有不同的建議(雖然沒有任何工作)。我會嘗試屏幕,但我假設,當設備卡關閉時停止... – 2013-03-07 20:15:41

+0

在完整的背景下,SD卡是在一個樹莓派,它只是假設要運行Python腳本設備開機後的背景 – 2013-03-07 20:19:23

+0

對我來說'screen'是一個更好的'nohup'(儘管「nohup」更容易擁有完整的日誌,但在這種情況下,您可能會將輸出傳送到「tee」 )。但是,如果計算機關閉,那麼程序不會停止... 如果您想要一個始終運行的腳本,則必須在'/ etc/init.d'中提供啓動腳本(或無論您的發行版使用何種目錄),並在相應的'/ etc/rc。?d'中有一個啓動鏈接,或者只是將其添加到'/ etc/rc.local'中。 – 2013-03-07 20:35:56