这就带来了很多不便,那么如何让其在后台持续运行,退出运行状态和关闭终端标签页也不影响呢?
方法就是在该命令后面加 & 符号,即可。
示例
gocron的客户端服务运行命令,./gocron web
图2退出和关闭标签页后,图三依然如此,服务也可以使用。
在你的任意目录输入命令: npm install pm2 -g
1.找到全局环境PATH路径
输入命令: echo $PATH
回车后: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
你的路径和我的可能不一样,但没关系,你可以选择任何一个以:隔开的路径做为系统环境路径,我通常会选 /usr/local/bin
2:找到pm2的安装路径
在上面输入 npm install pm2 -g 全局安装时
/usr/sbin/nodejs/bin/pm2 ->/usr/sbin/nodejs/lib/node_modules/pm2/bin/pm2
/usr/sbin/nodejs/bin/pm2 是安装路径(你的可能和我的不一样)
3.好了都找到了,
就重要的一步要开始了,睁大你的双眼。
命令为: ln -s /usr/sbin/nodejs/bin/pm2 /usr/local/bin/ (注意空格)
格式: ln -s 空格 pm2安装路径 空格 系统环境路径
OK,搞定,接下来验证一把…
[root@iZmwyb7v60px1zZ ~]# pm2 list
回车...
$ pm2 start app.js # 启动app.js应用程序
$ pm2 start app.js –name=”api” # 启动应用程序并命名为 “api”
$ pm2 start app.js –watch # 当文件变化时自动重启应用
$ pm2 start script.sh # 启动 bash 脚本
$ pm2 list # 列表 PM2 启动的所有的应用程序
$ pm2 monit # 显示每个应用程序的CPU和内存占用情况
$ pm2 show [app-name] # 显示应用程序的所有信息
$ pm2 logs # 显示所有应用程序的日志
$ pm2 logs [app-name] # 显示指定应用程序的日志
$ pm2 stop all # 停止所有的应用程序
$ pm2 stop 0 # 停止 id为 0的指定应用程序
$ pm2 restart all # 重启所有应用
$ pm2 reload all # 重启 cluster mode下的所有应用
$ pm2 gracefulReload all # Graceful reload all apps in cluster mode
$ pm2 delete all # 关闭并删除所有应用
$ pm2 delete 0 # 删除指定应用 id 0
$ pm2 scale api 10 # 把名字叫api的应用扩展到10个实例
$ pm2 reset [app-name] # 重置重启数量
$ pm2 startup # 创建开机自启动命令
$ pm2 save # 保存当前应用列表
$ pm2 resurrect # 重新加载保存的应用列表
$ pm2 update # Save processes, kill PM2 and restore processes
$ pm2 generate # Generate a sample json configuration file
1.nohup
用途:不挂断地运行命令。
语法:nohup Command [ Arg … ] [ &]
无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。
如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。
退出状态:该命令返回下列出口值:
126 可以查找但不能调用 Command 参数指定的命令。
127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。
否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。
2.&
用途:在后台运行
一般两个一起用
nohup command &
eg: nohup echo hello >logs/hello.log 2>&1 &
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)