[問題] 用 Ruby 完成類似 nohup 的功能已刪文

看板Ruby作者 (Neisseria)時間9年前 (2015/07/09 23:18), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
小弟有一些耗時較長的終端機的命令需執行 因為命令比較長,又要重覆執行很多次,每次改一點點地方 所以想包成 script 來執行 另外,我是透過遠端連線執行這些命令 我目前的習慣是透過 nohup 把命令掛在背景 本來想用 Ruby script 完成這項事情 但是卡在不知道以 Ruby 做到 nohup 的功能 目前是包成 Bash script 來解決,當然是可以用 但我其實不太喜歡寫 Bash script,覺得語法怪怪的,寫起來很卡 所以上來問問各位大大 the Ruby way 需求 1. 可以背景執行命令 2. 可以在 logout 後持續 run 該命令 3. 可以保存 stdout 和 stderr,方便以後檢視 感謝各位大大耐心地回答 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 156.40.254.19 ※ 文章網址: https://www.ptt.cc/bbs/Ruby/M.1436455133.A.45E.html

07/10 00:21, , 1F
system("nohup #{cmd} </dev/null >&#{err} >#{out}")
07/10 00:21, 1F

12/25 23:31, , 2F
先在開頭把 STDOUt STDERR 做 reopen 到檔案去
12/25 23:31, 2F

12/25 23:32, , 3F
最後直接用 exec 跑原本要執行的指令即可
12/25 23:32, 3F
文章代碼(AID): #1Ldf3THU (Ruby)
文章代碼(AID): #1Ldf3THU (Ruby)