nohup和bg的区别
时间: 2023-08-10 10:45:25 浏览: 149
"nohup"和"bg"都是用于在后台运行命令的Linux命令,但它们的作用有所不同。
"nohup"命令可以在命令后面添加"&"符号,并将命令的所有输出都重定向到一个名为"nohup.out"的文件中,从而使命令在后台运行而且即使用户退出终端也不会停止执行。
"bg"命令用于将在前台运行的作业转移到后台,使得用户可以继续在终端中输入命令。当一个作业在后台运行时,用户可以使用"jobs"命令查看它的状态,也可以使用"fg"命令将其转移到前台。
因此,"nohup"和"bg"命令都有自己的用途,它们的区别在于"nohup"命令是用于在后台运行一个新的命令,而"bg"命令是用于将当前正在前台运行的作业转移到后台。
相关问题
nohup命令的特点
nohup命令的特点是:
1. 后台运行:使用nohup命令启动的程序将会在后台运行,不会受到终端关闭或用户注销的影响。
2. 忽略挂断信号:nohup命令会忽略挂断信号(SIGHUP),这意味着即使用户注销或终端关闭,程序仍然可以继续运行。
3. 输出重定向:nohup命令会将程序的输出重定向到当前目录下的nohup.out文件中,如果该文件已经存在,则会追加内容而不是覆盖。
4. 作业控制:nohup命令启动的程序将会成为一个新的作业,并且可以使用其他作业控制命令(如bg、fg、jobs)来管理它。
5. 无输入模式:nohup命令启动的程序默认没有与终端交互的能力,即无法接收标准输入。如果需要从标准输入读取数据,可以使用重定向或管道来实现。
总之,nohup命令可以使程序在后台持续运行,忽略挂断信号,并且将输出重定向到文件中,非常适合用于长时间运行的任务或需要长时间保持运行的程序。
[2]+ 退出 1 nohup java -Xms1024m -Xmx1024m -jar /home/xiaoyun-app/cloud-back/common.jar > /home/xiaoyun-app/cloud-back/logs/common.out
这是一个 shell 的提示符,它表示当前 shell 会话中有一个作业(job)已经退出。在这个提示符中,`[2]+` 表示的是作业的编号,`1` 表示的是作业的退出状态码。
通常情况下,这个提示符会出现在你使用了一个后台运行的命令,并且你在这个命令运行期间进行了其他操作或者关闭了终端窗口。在这种情况下,你可以使用 `jobs` 命令来查看当前 shell 会话中的作业列表,然后使用 `fg` 或 `bg` 命令来恢复作业的运行或将其转移到后台运行。
例如,如果你想将作业编号为 `2` 的作业转移到后台运行,可以使用以下命令:
```
bg %2
```
如果你想将作业编号为 `2` 的作业恢复到前台运行,可以使用以下命令:
```
fg %2
```
如果你想了解更多关于作业控制的信息,可以使用 `help jobs` 命令来查看 shell 的帮助文档。
阅读全文