2012-02-22 17 views
7

我google了很多,並在面料常見問題也表示使用它的屏幕dtach,但沒有找到如何實現它? 波紋管是我的錯誤代碼,爲例外它是一個nohup的任務如何使用面料與dtach,屏幕使用,是否有一些例子

def dispatch(): 
    run("cd /export/workspace/build/ && if [ -f spider-fetcher.zip ];then mv spider-fetcher.zip spider-fetcher.zip.bak;fi") 
    put("/root/build/spider-fetcher.zip","/export/workspace/build/") 
    run("cd /export/script/ && sh ./restartCrawl.sh && echo 'finished'") 

回答

2

你可以在前面加上屏幕的命令要運行的SH不會執行: 運行(「屏幕長時間運行的命令」)

Fabric雖然不像預期的那樣保持狀態,因爲每個run/sudo/etc都是他們自己的sperate命令,而不知道最後一個命令的狀態。例如run(「cd/var」); run(「pwd」)不會打印/ var,而是登錄到該盒子的用戶的主目錄。

5

我已經成功地做到這一點在兩個步驟:在分離模式遠程服務器上

  1. 開始TMUX會議:

    運行( 「TMUX新-d -s富」)

  2. 發送命令到分離TMUX會議:

    RUN( 「TMUX發送-t foo.0 LS ENTER」)

這裏 '-t' 確定目標會話( '富')和 'foo.0' 告訴 數的窗格中執行'ls'命令。

相關問題