2017-07-14 44 views

回答

6

您可以完全在水晶做到這一點,而不使用的Process.newoutput選項生成一個殼。

File.open("app_name.log", "a") do |file| 
    Process.new("app_name", output: file) 
end 
+0

事實上,這個答案給了我我想要的。有了shell,當我嘗試獲取我的進程的'pid'時,我得到了記錄器進程的'pid'。再次感謝您的回答。 – nobilik

+0

@nobilik請將其標記爲接受的答案 – RX14

3

Process.new默認情況下直接執行給定的命令而不使用shell,因此Shell擴展如管道不起作用。但它接受參數shell,如果設置爲true,則該參數執行命令/bin/sh

Process.new("app_name >> app_name.log", shell: true) 
相關問題