出题:如何保证一个程序一直在执行?
发布于 10 年前 作者 i5ting 4973 次预览 最后一次回复是 10 年前 来自 分享
给出mac 下shell版本
#!/bin/sh
#=====================
#
# ps -ef|grep Thunder.app
#=====================
while :
do
stillRunning=$(ps -ef |grep "Thunder.app" |grep -v "grep")
if [ "$stillRunning" ] ; then
echo "Thunder.app service was already started"
else
echo "Thunder.app service was not started"
echo "Starting Thunder.app service ..."
`open /Applications/Thunder.app`
fi
sleep 6
done
请用nodejs实现,代码放到github上,回贴中留下地址,我会去review
16 回复
知识点
FQ暂时有点问题,创建不了gist,所以直接找了个repo把回答push上去了: https://github.com/spacewander/spacewander-toolbox/blob/master/immortal.js
不要用shell文件,减少依赖,完全用node去写
楼主在面试程序员么?这么牛气
给4楼点赞,好霸气
都提示到这份上了,照着葫芦画瓢还不容易? https://github.com/hezedu/SomethingBoring/blob/master/isDie.js
@leapon 哥面过几百人吧,哈哈,不过这个题目纯属娱乐
@dayuoba 你的问题
function(data){应该是function (data) {@hezedu
@i5ting 说的那么详细,多谢指导. 确实我理解错误,没想到是要守护进程.我已经改好了,你可以再看看. 大牛啊,说到递归,我也给你出个题: 找出磁盘最深的目录。 我已在在 demo/deep.js 里实现了。
你是否有更好更快的方法?哈哈.
@i5ting 指出的不错,编辑的时候直接打的,平时使用sublime 进行格式化。还没养成手动加空格的习惯。 function:var isFunction; ConstructorFunction: var ConsFunc; CONST:var CONST/var CONST_FOO; variable:var variables;/var confustion_word;//一般的变量用全小写,有的规范里是和function命名一样。我习惯全小写这样的容易混淆的拼词用下划线。
@leapon 我印象中他有个小徒弟。。。这次的题目是给你小徒弟出的吗 @i5ting
又可以新增一个板块了
都是牛人
挺好玩的,省得最近都是招聘贴……