关于nohup
nohup command & 命令。这条命令表示:不挂断地后台执行command,输出在当前目录的nohup.out 文件中(补充:如果当前目录的nohup.out文件不可写,那么输出在 $HOME/nohup.out 文件中)。nohub表示不挂断执行,&表示后台执行。下边我们看一下怎样使用nohub来部署我们的项目。
启动方式
关于启动方式,你可以在 Xshell 会话窗口中,进入之前发布到服务器上的项目目录,通过命令 dotnet 你的项目名.dll 来启动网站,但是这样只要 Ctrl + C 或断开会话连接,项目进程就被结束了,因此可以用来做临时测试。若要使网站持续运行下去,可以使用下面方法。
nohup 启动
nohup dotnet 你的项目名.dll
这样一来你的网站就跑起来了,并且断开会话进程也不会被关闭,简单和无需进行配置就是它的优点,但若是想要关闭就麻烦了,需要 ps -ef | grep dotnet 找到对应的进程 id 再将其 kill。另外一个缺点是,如果服务器重启,或者你的项目出现错误意外退出了,那么你的项目是不会自动重新启动的。
下面是我用到的一些命令,仅供参考
权限
路径是完整路径 在根目录执行
chmod u+x /test/*
启动服务 先cd到目录下
nohup ./DFTech.Service --urls=http://*:8803 &
退出
exit
netstat -nap|grep 进程号
先根据端口号查找pid(进程号)
netstat -nlp | grep 22
结果如下:
unix 2 [ ACC ] STREAM LISTENING 12249 -
12249就是它的pid(进程号)
再根据进程号查找路径,如下:
ll /proc/12499/cwd
cwd后面的路径就是端口号8703程序的路径
问题解决
查看进程
ps -ef
查看到进程id之后,使用netstat命令查看其占用的端口
netstat -nap|grep 进程号
关闭进程
kill -9 进程号