PM2 守护PHP进程 (laravel)
我研究了好久,思路是用node的child_process 动态监听。
var spawn = require('child_process').spawn;
free = spawn('php', ['artisan', 'serve', '--host=127.0.0.1', '--port=8501']);
console.log('pm2守护php服务启动');
free.stdout.on('data', function (data) {
console.log('standard output:\n' + data);
});
free.stderr.on('data', function (data) {
console.log('standard error output:\n' + data);
});
free.on('exit', function (code, signal) {
console.log('child process eixt ,exit:' + code);
});
执行:
pm2 start start.js --name server
这样就算进程死了,pm2也能马上重启。