yan*_*uli 3 linux shell background-process
我如何在Linux shell中工作,以便即使启动它的shell终止,这个工作仍然会持续存在?
更具体地说,我试图在一个进程上运行strace.如果我在终端上运行,它会完美运行.但是,我想在一个远程shell中执行它,它将在所有命令执行后立即停止."strace -p pid &"没有任何效果,因为当shell停止时,后台作业也会被杀死.
我该怎么办?
nohup似乎是我要找的东西.但是,ssh user@remote_machine script_name似乎也没有任何影响.在我的脚本中"nohup strace -p pid"
非常感谢!
Nohup并且Screen即使会话断开连接或用户注销,也可用于运行命令.我同时使用它们,但"屏幕"更好.
nohup ./<script_name> &
Run Code Online (Sandbox Code Playgroud)
如何使用屏幕?
创建任务:
$ screen -S task
Run Code Online (Sandbox Code Playgroud)
在任务窗口中执行命令,如果任务未完成,请使用
$ Ctrl+a+d
to save the task. It will show the following info:
[detached]
Run Code Online (Sandbox Code Playgroud)
如果您的任务已完成,请使用"退出"退出屏幕:
$ exit
[screen is terminating]
Run Code Online (Sandbox Code Playgroud)
您可以screen -ls用来查找任何屏幕信息:
$ screen -ls
There is a screen on:
10000.task (Detached)
Run Code Online (Sandbox Code Playgroud)
使用"screen -r"恢复任务:
$ screen -r 10000
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2742 次 |
| 最近记录: |