linux – BASH脚本启动node.js套接字服务器作为服务

linux – BASH脚本启动node.js套接字服务器作为服务,第1张

概述基本上我想要完成的是,某种脚本或方法让我启动node.js套接字服务器脚本,作为服务. 这样做是为了让我不必在SSH中物理运行’node server.js’并且必须打开它. 任何帮助,将不胜感激. 谢谢斯科特 除了永远之外,我没有看到任何想要使用其他东西的罪犯.在我的项目中,我也避免使用这种工具,而更多地依赖于系统功能.因为我也试图避免以root身份运行我的应用程序,所以我不能使用SystemV 基本上我想要完成的是,某种脚本或方法让我启动node.Js套接字服务器脚本,作为服务.

这样做是为了让我不必在SSH中物理运行’node server.Js’并且必须打开它.

任何帮助,将不胜感激.

谢谢斯科特

解决方法 除了永远之外,我没有看到任何想要使用其他东西的罪犯.在我的项目中,我也避免使用这种工具,而更多地依赖于系统功能.因为我也试图避免以root身份运行我的应用程序,所以我不能使用SystemV或Upstart.

这里有强大的shell脚本!我创建了几个简单执行任务的bash脚本,例如具有启动,停止,重启和查询状态能力的进程看门狗.

检查此代码.随意修改它.要使用它 – 将命令放在COMMAND参数中.并执行./path_to_script.sh -start.这将创建看门狗进程,它将启动您的节点进程并观察它是否死亡,如果是,它将重新启动它.这是非常不理想的,所以如果有人有什么要修复,添加,删除这里,随时在下面评论.

#!/bin/bashCURRENT_PATH=$(pwd)LOGFolDER=$CURRENT_PATH"/logs/"PIDFolDER=$CURRENT_PATH"/pID/"#PID file where the this script process ID is storedWATCHDOGPIDfile=$PIDFolDER"watchdog-admin.pID"#PID file where the node process ID is storedNODEPIDfile=$PIDFolDER"node-admin.pID"#Watchdog process error log fileWATCHDOGLOGfile=$LOGFolDER"admin-watchdog-error.log"#Node process error log fileNODELOGfile=$LOGFolDER"admin-error.log"#Command to be executed on daemon startCOMMAND="node ./admin/app.Js 1> /dev/null 2>> $NODELOGfile"ARG_1=start() {    if [ -e $NODEPIDfile ]; then        PID=$(cat $NODEPIDfile)        if [ $(ps -o pID | grep $PID) ]; then            return;        else            touch $NODEPIDfile            nohup $COMMAND &            echo $! > $NODEPIDfile        fi    else        touch $NODEPIDfile        nohup $COMMAND &        echo $! > $NODEPIDfile    fi}stop() {    if [ -e $NODEPIDfile ]; then        PID=$(cat $NODEPIDfile)        if [ $(ps -o pID | grep $PID) ]; then            kill -9 $PID        fi        rm $NODEPIDfile    fi}stopdaemon() {    stop    rm $WATCHDOGPIDfile    exit 0}log() {    echo  >> $WATCHDOGLOGfile}keep_alive() {    if [ -e $NODEPIDfile ]; then        PID=$(cat $NODEPIDfile)        if [ $(ps -o pID | grep $PID) ]; then            return;        else            log "Jim,he is dead!! Trying ressurection spell..."            start        fi    else        start    fi}case x${ARG_1} in    x-start )        echo "Starting daemon watchdog"        nohup "" -daemon &> /dev/null &    ;;    x-daemon )        if [ -e $WATCHDOGPIDfile ]; then            PID=$(cat $WATCHDOGPIDfile)            if [ $(ps -o pID | grep $PID) ]; then                exit 0;            fi        fi        touch $WATCHDOGPIDfile        echo $$> $WATCHDOGPIDfile        #trap the interruption or kill signal        trap stopdaemon INT SIGINT TERM SIGTERM        start        while true; do            keep_alive            wait            sleep 1        done    ;;    x-stop )        echo "StopPing daemon watchdog"        PID=$(cat $WATCHDOGPIDfile)        kill $PID    ;;    x-status )        #check if process is running and PID file exists,and report it back    ;;    x )        echo "Usage {start|stop|status}"esacexit 0
总结

以上是内存溢出为你收集整理的linux – BASH脚本启动node.js套接字服务器作为服务全部内容,希望文章能够帮你解决linux – BASH脚本启动node.js套接字服务器作为服务所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1025054.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存