• 请不要在回答技术问题时复制粘贴 AI 生成的内容
verfino
V2EX  ›  程序员

如何用Linux shell写一个关闭Node进程的脚本?

  •  
  •   verfino ·
    helix-dan · Apr 17, 2013 · 4628 views
    This topic created in 4796 days ago, the information mentioned may be changed or developed.
    Node没有类似stop的命令(不像Node的forever工具,可以通过stop来关闭)

    现在的解决办法是 ps -ef | grep -i node
    找到node的父进程
    然后kill -9 进程号

    通过这样来关闭Node进程

    不知道大家有没有什么更优雅的方法啊
    7 replies    1970-01-01 08:00:00 +08:00
    yangg
        1
    yangg  
       Apr 17, 2013   ❤️ 1
    pgrep node | xargs -i kill {}
    LazyZhu
        2
    LazyZhu  
       Apr 17, 2013   ❤️ 1
    leohxj
        3
    leohxj  
       Apr 17, 2013 via iPhone
    借楼问下,为什么我在VPS上用&后台运行一个node(express app.js)程序,然后我logout之后这个进程就不存在了?项目就访问不了了
    enotey
        4
    enotey  
       Apr 17, 2013 via Android   ❤️ 1
    @leohxj nohup
    duhastmich
        5
    duhastmich  
       Apr 18, 2013   ❤️ 1
    node app.js & echo $! > app.pid
    verfino
        6
    verfino  
    OP
       Apr 18, 2013
    @yangg 感谢!这个方法至少比我的优雅.... 我现在是根据关键字查找父进程,然后kill掉父进程
    具体实现是
    ps ax | grep "node my_app.js" | grep -v "grep" | awk '{print $1}' | xargs kill -9

    @LazyZhu 感谢!还是自己Google 的关键词没对,不过这里面的方法跟我一样不优雅,哈哈哈

    @duhastmich 感谢,看了上述答案,最终还是要跟你这个方案考虑.... PID比定位关键字更加准确
    halfbloodrock
        7
    halfbloodrock  
       Apr 18, 2013
    建议使用标准kill信号,kill PID,或者kill -15 PID。kill -9杀死进程方式太暴力,可能出现不释放资源的问题。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3189 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 14:00 · PVG 22:00 · LAX 07:00 · JFK 10:00
    ♥ Do have faith in what you're doing.