NginScript 暂时还没有直接调用操作系统命令的的能力,不过具有fs对象可以操作本地文件系统,需要触发本地命令的时候可以通过文件系统来传递消息,比如这样:
function execCommand(cmd){
var fs = require('fs');
var path;
if(cmd == "start") path='/dev/shm/start-command';
if(cmd == "stop") path='/dev/shm/stop-command';
var file = fs.writeFileSync(path, '');
}
需要操作的时候就在内存盘 /dev/shm 上写一个空文件(如果已经存在的话覆盖写),文件名是自己起的命令名称。
安装一个文件监控工具
yum install inotify-tools -y
#!/bin/bash
inotifywait -m -e open /dev/shm/ |
while read events;
do
if [ "$events" == "/dev/shm/ OPEN start-command" ]; then
echo 'start command';
do-something-to-start-service;
fi
if [ "$events" == "/dev/shm/ OPEN stop-command" ]; then
echo 'stop command';
do-something-to-stop-service;
fi
done
没啥技术含量。这样通过文件系统来实现实现其实也并不漂亮,将就用着。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。