对小牛队来说,这很好...... [用你想要的长跑过程代替“睡30”。]
prompt% osascript -e 'do shell script "sleep 30 >/dev/null 2>&1 &"'
但这实际上并没有进入后台;它等了整整30秒:
prompt% osascript -e 'do shell script "sleep 30 >/dev/null 2>&1 &" with administrator privileges'
在Mavericks之前它运作正常...有没有人知道如何让“do shell script”立即返回,而不必等待其后代进程完成?
PS - 我甚至尝试过这样的事情:
prompt% cat /tmp/sleep.sh
#!/bin/sh
(sleep 30 >/dev/null 2>&1 &)
prompt% osascript -e 'do shell script "sh /tmp/sleep.sh" with administrator privileges'
即,创建一个完全拒绝睡眠过程的shell脚本......没有骰子。我还以为可能使用setpgrp()将进程组更改为其他东西(通过Perl包装器)可能有帮助... Nada。 : - (
答案 0 :(得分:2)
尝试:
do shell script "sleep 30 &>/dev/null &"
答案 1 :(得分:0)
这是小牛队的一个错误,显然是在10.9.2中引入的。 (我在10.9.1中没有看到它;我有几个应用程序在很大程度上依赖于这个功能。)请向Apple提交Radar / bug以确保他们修复它。