我有一个节点应用程序在我的 Linux 托管服务器上运行。
有时应用程序崩溃,我需要重新启动它,所以我登录并输入以下命令:
pkill node
cd public_html/n49900_dpndev
node server.js &
应用程序再次运行。
现在我想把它放到一个脚本中,所以我只需要启动脚本(或者可以从 PHP 脚本执行它,例如)。
我创建了一个名为“startnode”的文件:
#!/bin/bash
pkill node
cd public_html/n49900_dpndev
node server.js &
我用 更改了权限chmod 755 startnode
。
但是当我执行它时,./startnode
它会响应:
终止
我需要做什么才能使我手动输入的命令也可以在 bash 脚本中使用?
您的脚本名称中包含“节点”,并且
pkill node
可能正在杀死它。仅
pkill -x node
用于杀死名称恰好为“节点”的进程可能更符合您的喜好。甚至pkill -f -x "node server.js"
可以使用确切的完整命令行来终止该进程。pkill
正在杀死使用包含单词的程序启动的每个进程,node
即使您编写脚本将脚本重命名为不包含该单词的任何名称
node