我有一个应用程序,在错误时重新启动。
由于初始化可能需要一些时间,因此我使用其他应用程序播放加载视频。
由于初始化取决于互联网连接,因此可能会重新启动很长时间,因此我需要在检查程序的实例是否尚未启动后启动视频一次。
我以为我可以这样做:
var arg = 'pgrep --count omxplayer | echo $?';
exec( arg, function(err, stdout, stderr) {
var data = '' + stdout[0];
console.log(data);
if (data === '0') {
callback(true);
} else {
callback(false);
}
});
如果参数为false,则回调启动omxplayer。
问题是,当我查看我的日志时,我可以看到数据始终为0,这使得应用程序在重新启动时启动omxplayer。
我对pkill -0 omxplayer | echo $?
如何检查omxplayer是否正在运行?或者我如何修复我的代码?
答案 0 :(得分:0)
我明白了,错误不在pgrep中,而在于我如何处理stdout。
stdout [0]似乎什么都不做,数据[0]也没有。
我应该如何获得它是data.charAt(0),只有在没有omxplayer启动时返回'0'。
var arg = 'pgrep --count omxplayer | echo $?';
exec( arg, function(err, stdout, stderr) {
var data = '' + stdout;
data = data.charAt(0);
console.log(data);
if (data === '0') {
callback(true);
} else {
callback(false);
}
});