最轻量级的Ruby后台任务_Ruby_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > Ruby > 最轻量级的Ruby后台任务

最轻量级的Ruby后台任务

 2011/8/10 17:30:51  Hooopo  http://hooopo.iteye.com  我要评论(0)
  • 摘要:普通情况下ruby调用系统命令行的过程是堵塞的,无论是用system还是``或是exec。system命令会在命令执行成功后返回true,失败返回nil不过如果system调用的命令以&结尾,ruby进程不会被阻塞,不管前面的命令是否执行成功都会立即返回true。所以,史上最轻量级的ruby后台任务诞生了:system('echo"Hello">./system.log&&sleep5&&echo"Hooopo">./system
  • 标签:Ruby
普通情况下ruby调用系统命令行的过程是堵塞的,无论是用system还是``或是exec。
system命令会在命令执行成功后返回true,失败返回nil
不过如果system调用的命令以&结尾,ruby进程不会被阻塞,不管前面的命令是否执行成功都会立即返回true。
所以,史上最轻量级的ruby后台任务诞生了:
system('echo "Hello" > ./system.log && sleep 5 && echo "Hooopo" > ./system.log 2>&1  &')


ps:经测试,使用``的话即使命令行后面加上&也是会阻塞ruby进程的。

`echo "Hello" > ./system.log && sleep 5 && echo "Hooopo" > ./system.log 2>&1  &`
发表评论
用户名: 匿名