美文网首页
命令行开启常驻服务小结

命令行开启常驻服务小结

作者: lovejjfg | 来源:发表于2020-12-06 20:00 被阅读0次

最近玩 Node js ,想常驻一个服务, node index.js 。直接再命令行这样玩的话,当你 ctrl + c 或者
关闭命令行是,服务随着关闭结束。

那怎么操作能让他在后台常驻运行呢?常驻之后,我又能怎么手动结束这个进程呢?

1. 常驻后台:
nohup 指令 &
使用 nohub + 对应需要执行的指令 + & 就能实现后台常驻。
例如上面的 node index.js 需要常驻的话,就应该这样写:

nohub node index.js &

这个时候,命令行中会给你返回出进程 id :

[1] 83281
appending output to nohup.out   
  1. 结束进程

常驻后台后,你不得不面临第二个问题,如何手动结束该进程, kill -9 帮你解决:

kill -9 83281
[1]  + 83281 killed     nohup node index.js    

接着再重复上面的开始指令。

  1. 查看端口对应进程

如果上面说的进程ID 你已经记不得,这个也不要紧,使用 lsof -i <端口号>

lsof -i:80

node   83281  lovejjfg   22u  IPv6 0x7bc41b53c97391cf      0t0  TCP *:http (LISTEN)

ok ,再重复操作步骤2 ,完成。

到这里,内容算完成了。

异常问题,如果在 zsh 中出现以下错误:

zsh: you have running jobs

那么在 nohup 指令 & 指令最后再添加一个 !。 像这样:

nohup 指令 &!

思来想去总觉这一对操作太麻烦了,简单用一下都挺累的。各种指令需要切换,难道就没有大佬解决这个问题吗?
哈哈 , pm2 解决你所有烦恼。

  1. pm2 开启服务:

    pm2 start index.js --name index_debug

  2. 查看后台服务列表
    通过以上指令,你就开启了 index.js 的服务。如何查看已开启的服务呢?

    pm2 list

image.png

这里的 name index_debug 就是这个刚刚我们开启指令所指定的 name 。 最后, 还有一个 watching ,这个是啥意思呢?

  1. 自动重启

这就涉及到重启刷新的问题,如果 pm2 能在我们更新代码后自动更新服务岂不美哉?只需要在 start 的指令后增加 --watch 的参数即可。

pm2 start index.js --name index_debug --watch 
  1. 手动重启

如果没有设置 watch ,那么你就需要手动重启,在这个时候,只需要 执行 restart 操作。

当然,这只是入门的基本操作指令。例如 watch 是否需要过滤某些文件修改等。详情请阅读请继续看官方文档。

参考链接:
https://www.jianshu.com/p/7e60a2d76aa5
https://www.cnblogs.com/chyingp/p/pm2-documentation.html
https://www.cnblogs.com/sparkdev/p/6659629.html

相关文章

  • 命令行开启常驻服务小结

    最近玩 Node js ,想常驻一个服务, node index.js 。直接再命令行这样玩的话,当你 ctrl ...

  • mac os开启http服务

    1,开启http服务 os系统自带apache服务,用命令行: sudo apachectl start 开启ht...

  • mac 开启轻量级HTTPServer服务

    1,开启http服务 os系统自带apache服务,用命令行: sudo apachectl start 开启ht...

  • 2018-04-10 mac开启原生服务器

    mac开启原生服务器 命令行 开启appache//开启 apache: sudo apachectl start...

  • nginx反向代理服务器

    在nginx安装目录下打开命令行 1 开启服务 start nginx.exe 2 检查服务是否开启成功: tas...

  • 2018-10-28数据库及增删改查

    .开启服务器,连接数据库. 1. 命令行 window+r cmd开启服务器; 2.连接服务器 mysq...

  • MySQL入门

    界面操作开启和停止服务 开始→控制面板→管理工具中双击"服务" 命令行方式开启和停止服务 配置path路径为mys...

  • MySQL常用命令

    界面操作开启和停止服务 开始→控制面板→管理工具中双击"服务" 命令行方式开启和停止服务 配置path路径为mys...

  • 04.Redis补充

    管理员 进入cmd命令行,进入Redi安装目录 控制台启动: 注册为系统服务: 卸载服务: 开启服务: 停止服务:

  • Mysql 命令行操作

    Mysql 命令行操作 连接Mysql 查看服务器mysql服务有没有开启ps -ef | grep mysqlm...

网友评论

      本文标题:命令行开启常驻服务小结

      本文链接:https://www.haomeiwen.com/subject/qeoowktx.html