liunx怎么关闭终端,程序还在运行
&的用法
首先我们可以知道有个liunx指令可运行程序后面都可以加个&
例如:启动一个java程序
java -jar xxx.jar &
启动原本只需要java -jar xxx.jar
可后面又添加了&
就代表在该终端下在后台运行
- 也就是说,你现在可以按下键盘上的
Enter
键 - 然后可以执行其他可执行的程序
结果后面关掉终端后,所有的运行程序都不再运作,这肯定不是我们想看到的
nohup
nohup
是什么呢?
解释:nohup
是Linux系统自带的一个命令工具。它源于Unix,并在所有现代Linux发行版中作为标准工具提供。无需额外安装,可以直接在终端中使用该命令来让程序在后台运行,并且在用户退出终端后仍然继续执行。其主要目的是忽略挂断(hangup)信号,使得进程不受终端关闭的影响而持续运行。
还是以启动java程序举个实例:
nohup java -jar xxx.jar
现在关闭终端程序还在运行啦,并且日志
都会打印到nohup这个上面(nohup文件自动生成在同等级目录下)
screen
&和nohup放到后台运行也不太推荐,推荐使用 screen 进行对话管理
1.使用以下的命令进行安装
Ubuntu
sudo apt-get install screen
CentOS
yum install screen -y
2.新建会话
screen -S <会话名>
3.进入会话后直接启动要启动的命令即可(不用特殊操作符)
只需输入普通启动命令即可,上例子:
java -jar xxx.jar
这样关闭终端也还是在运行的。