«

Linux后台运行命令(不挂断地运行)

时间:2024-1-25 09:53     作者:韩俊     分类: Linux


Linux 后台运行命令(即不挂断的运行命令)主要是使用 nohup 命令。
 
如果不将 nohup 命令的输出重定向,输出将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。

nohup命令及其输出文件    nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。

例如:nohup command > error.log

在上面的例子中,输出被重定向到当前目录的 error.log 文件中

说到这里可能有些同学又要问了,如果我有多个进程在后台运行,那如何恢复到前台来执行呢?这时候就要用到 jobs 这个命令了,通过jobs这个命令,能够列出所有在后台执行的进程,那个中括号([ ])里面的数字就是 jobs 的代号啰 ,通过fg %number 就可以恢复指定的后台进程.
 
要kill掉后台运行程序的话,可以通过 top 命令找到作业的 id 然后再删。

另外还有一种方法就是在下达的命令后面加上&,就可以使该命令在后台进行工作,这样做的好处就是不怕被ctrl+c这个中断指令所中断。如果需要将当前已经在前台运行的命令转为后台运行,只要执行ctrl+z就可以做到了。

标签: linux

热门推荐