客户端断开后怎么让服务器上的后台仍在运行
在linux环境下,客户端一般使用x-shell客户端工具开启服务器上的后台再断开连接,服务器上的后台也会断开。
这时候我们需要通过 “nohup &” 命令来运行后台,让后台一直处于运行状态,不跟随客户端的断开而悬挂起来。
每次运行都需要使用“nohup &” 命令,比较麻烦,我们最好在该后台根目录的bin子目录下写一个startserver.sh的shell脚本,每次只需要在bin下运行"./startserver.sh"命令就可以让后台一直处于运行状态了。
startserver.sh的shell脚本内容如下:
#!/bin/sh
nohup node ./bin/www &
shell脚本解释:
1.在linux中一行开头的 # 是注释,但是这里的 #! 不是注释,而是不可缺少的脚本内容。
2.#!/bin/sh作用是声明脚本的类型以及在shell中的路径,告诉解析器应该用哪种解析语言来解析该脚本。
注意:新的脚本写完后的第一次运行需要使用特别的命令来运行该脚本,否则会出现没有权限开启该服务的错误。
像这样的错误:nohup: failed to run command `./www': Permission denied //就是没有权限的错误
解决方法:为该脚本第一次运行赋予权限,具体命令如下:
1)先执行该命令:chmod +x startserver.sh //命令组成:chmod +x 脚本的名字
2)再执行此命令:nohup node ./www & //将脚本内的nohup命令语句执行一遍
3)通过命令查看进程:ps -ef|grep node //命令组成 ps -ef|grep 需要查看的进程名
第二次之后运行脚本就可以直接在他的目录下使用命令" ./startserver.sh " 即可。