我在給定的終端在Linux中已停止進程。現在我在另一個終端。我如何開始這個過程。我會發送什麼樣的殺手信號。我擁有這個過程。如何在Linux中啓動已停止的進程
5
A
回答
8
4
除了@ Dave的回答,還有一個advanced method用於使用GDB重定向正在運行的程序的輸入和輸出文件描述符。
一個FreeBSD例如對於任意的外殼腳本具有PID 4711:
> gdb /bin/sh 4711
...
Attaching to program: /bin/sh, process 4711
...
(gdb) p close(1)
$1 = 0
(gdb) p creat("/tmp/testout.txt",0644)
$2 = 1
(gdb) p close(2)
$3 = 0
(gdb) p dup2(1,2)
$4 = 2
EDIT - 解釋:這將關閉的文件句柄1,然後打開一個文件,該文件重用1。然後它關閉文件句柄2次重複文件句柄1到2.
現在這個過程'stdout
和stderr
轉到指定的文件,並從那裏讀取。如果需要stdin
,則需要p close(0)
,然後附加一些輸入文件或PIPE或smth。
目前,我找不到一種方法從控制終端遠程disown
這個過程,這意味着當終端退出時,這個過程接收到SIGHUP
信號。
注意:如果您確實有/獲得訪問其他終端,您可以disown -a
,以便此過程將在終端關閉後繼續運行。
+0
這是一個很酷的技術。我沒有想過使用調試器重新路由STDOUT。 – 2011-05-11 15:51:05
相關問題
- 1. Linux守護進程停止啓動 - 停止守護進程
- 2. 如何在Python中使用子進程模塊啓動和停止Linux程序?
- 3. 在應用程序啓動時停止已啓動的服務
- 4. 如何停止由android.exe中的run.exec()啓動的進程
- 5. 在羣集中啓動和停止hadoop守護進程/進程
- 6. 有沒有辦法用python啓動/停止linux進程?
- 7. 啓動 - 停止守護進程和Python
- 8. 啓動後立即停止進程
- 9. 停止postgres進程重新啓動 - mac
- 10. Gracefuly停止.net啓動Java進程
- 11. 如何避免在Linux中停止python進程?
- 12. 如何在Linux中停止屏幕進程?
- 13. Linux內核啓動在Uncompressing Linux中停止...好吧,啓動內核
- 14. 停止Linux中的所有CUDA進程而不重新啓動計算機?
- 15. 啓動和停止Mongrel Rails啓動時的另一個進程
- 16. 如何暫停/重啓C(linux)中的進程
- 17. 如何在Spring-Boot中啓動(並最終停止)守護進程線程?
- 18. 如何啓動/停止Licode?
- 19. 如何知道進程是否已在Linux中啓動但崩潰
- 20. 如何啓動和停止中的Django
- 21. c + +啓動新的進程,並終止在linux下當前的
- 22. 如何停止在批處理程序中啓動的VBScript?
- 23. 如何啓動停止Linux上的worklight服務器6.2?
- 24. 停止然後在powershell中啓動一個進程
- 25. Linux守護進程啓動
- 26. 如何在Linux上停止「不間斷」進程?
- 27. 如何在停止狀態下分配Linux進程?
- 28. 如何通過shell腳本殺死linux已停用的進程
- 29. 無法停止在線程中啓動的命令行進程(在javafx中)
- 30. 如何防止進程啓動?
屬於http://unix.stackexchange.com。 – hammar 2011-05-09 22:12:25