Linux

重新設置以篩選通過管道連接的兩個程序

  • July 27, 2019

假設在 PuTTY 連接中我開始

mysqldump --host host1 --databases db1 db2 db3 | mysql

它創建了兩個程序:mysqldumpPID 5800 和mysqlPID 5801。當我想關閉 PuTTY 並且以後仍然可以返回它們時,是否可以讓正在執行的程序繼續執行?

我在這裡找到了一些答案,這些答案涉及單個程序以及如何使用reptyr它來重新父級screen,但我關心的是如何處理我的兩個並行執行的程序。

讓您忙碌的會話繼續執行。

打開另一個新會話。

tmux即使您關閉或失去 ssh 連接,也可以使用該應用程序。tmux類似於,screen可以說要好一些。

sudo apt install tmux
tmux

現在是關鍵步驟,竊取程序的終端。

sudo apt install reptyr
ps uw    # find one of the PIDs to save, any will do
reptyr -T the_PID

我注意到該方法的一個副作用reptyr -T。您還可以在執行的應用程序中擷取舊外殼。如果您exit現在,您將返回到 tmux/screen 的原始外殼。再次使用exit,您將返回登錄 shell。

引用自:https://serverfault.com/questions/975750