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

作者: Neisseria (Neisseria)   2015-07-09 23:18:50
小弟有一些耗時較長的終端機的命令需執行
因為命令比較長,又要重覆執行很多次,每次改一點點地方
所以想包成 script 來執行
另外,我是透過遠端連線執行這些命令
我目前的習慣是透過 nohup 把命令掛在背景
本來想用 Ruby script 完成這項事情
但是卡在不知道以 Ruby 做到 nohup 的功能
目前是包成 Bash script 來解決,當然是可以用
但我其實不太喜歡寫 Bash script,覺得語法怪怪的,寫起來很卡
所以上來問問各位大大 the Ruby way
需求
1. 可以背景執行命令
2. 可以在 logout 後持續 run 該命令
3. 可以保存 stdout 和 stderr,方便以後檢視
感謝各位大大耐心地回答
作者: AIGecko (師大貓耳控)   2015-07-10 00:21:00
system("nohup #{cmd} </dev/null >&#{err} >#{out}")
作者: CP64 (( ̄▽ ̄#)﹏﹏)   2015-12-25 23:31:00
先在開頭把 STDOUt STDERR 做 reopen 到檔案去最後直接用 exec 跑原本要執行的指令即可

Links booklink

Contact Us: admin [ a t ] ucptt.com