在螢幕守護程式模式下執行命令

在螢幕守護程式模式下執行命令

我正在嘗試使用以下命令在螢幕模式下運行命令

screen -dmS screen_name sed -i 's/a/b/'g some-file.txt

什麼都沒發生。當我將相同的命令放入腳本中並運行該命令時:

screen -dmS screen_name bash -c /path/to/script

有用。我的問題是,我可以在守護程式模式下執行命令而不必先將其放入腳本中嗎?基本上,我需要這個守護進程功能,因為它有助於並行運行多個命令,透過將每個命令拋出到單獨的螢幕守護程式上,在程式完成後自動終止,從而對大檔案並行運行多個sed 指令。謝謝

答案1

我想問題出在 -S 上,如果你嘗試省略 -S 選項,它應該可以工作,即使沒有 bash -c 所以試試這個

screen -dm sed -i 's/a/b/'g some-file.txt

那應該有效。 BTW 螢幕未更新,您應該考慮切換到 tmux。它可以為您提供更多功能。

您可以鍵入以下內容來安裝 tmux:

sudo apt-get install tmux

所以你的程式碼應該是這樣的:

tmux new-session -d -s foo 'sed -i 's/a/b/'g some-file.txt'

我可以測試它

tmux new-session -d -s hello 'top'

如果你輸入

tmux attach -t hello

它將帶您進入與 top 的會話。希望有幫助。查看

man tmux

對於所有功能並檢查這裡取得全面的備忘單

答案2

這對你有用嗎?

screen -dmS screen_name bash -c "sed -i 's/a/b/'g some-file.txt"

相關內容