大家好,又见面了,我是你们的朋友全栈君。
(一)前言
因为经常使用Xshell进行服务器代码的运行,但是每次到关机后,或者是关掉Xshell连接窗口,在服务器上的命令,操作也就断掉了。这不得不找到了一个Linux命令:nohup
(二)基本用法
nohup command [arg … ] [ & ]
拿python test.py
为例子
一般我们运行命令是直接:python test.py
,但是在xshell窗口关闭的时候,这段命令也就失效了,
这时候我们可以用:nohup python test.py
运行,当我们把xshell窗口关掉的时候,这个python
还是在服务器上进行运行的。
nohup运行的三种情况:
1)无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。
2)如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
3)如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。
(三)命令行用法:
1 )
代码语言:javascript复制nohup ./start.sh >> /usr/local/node/output.log 2>&1 &
该命令是把nohup的log输出到/usr/local/node/output.log
这个文件中
2)
代码语言:javascript复制nohup ./start.sh
该命令是把nohup的log直接输出到当前目录下并保存为nohup.log
(四)查看运行的后台进程
1)当我们把进程运行到后台后,我们再找回的时候,就需要用到:
代码语言:javascript复制ps -aux|grep start.sh
a:显示所有程序 u:以用户为主的格式来显示 x:显示所有程序,不以终端机来区分
用ps -def | grep查找进程很方便,最后一行总是会grep自己 用grep -v参数可以将grep命令排除掉
代码语言:javascript复制ps -aux|grep start.sh| grep -v grep
2)查看使用某端口的进程
代码语言:javascript复制netstat -ap|grep 8090
3)查看到进程id之后,使用netstat命令查看其占用的端口
代码语言:javascript复制netstat -nap|grep 7779
4)终止后台运行的进程
代码语言:javascript复制kill -9 进程号
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/176041.html原文链接:https://javaforall.cn