天天看點

rust 服務實作守護程序運作方法

思路參考

https://www.cnblogs.com/ysk123/p/9909235.html

https://segmentfault.com/q/1010000022550896

解決方法:

在nodejs環境下,通過pm2來執行,寫一個簡單的node的exec。

var exec = require('child_process').exec;
var log4jsConfig   = config.log4jsConfig;
log4js.configure(log4jsConfig);
var logger = log4js.getLogger('DEPLOY');
logger.warn('部署服務啟動成功,程序id是: ', process.pid);
exec_main();

function exec_main(){
    var filePath="~\\target\\debug";
    var cmd="cd "+filePath+" && ./demoservere";
    logger.info(cmd);
    exec(cmd, function (error, stdout, stderr) {
        if (error || stderr) {
            logger.error('啟動新app: 出錯: '+cmd);
            logger.error(error || stderr);
        } else {
            logger.info('啟動新的app 成功 '+cmd);
        }
    })
};


//出錯記錄日志
process.on('uncaughtException', function (err) {
    logger.error('部署項目服務出錯: ' + err);
});