后台挂起的Applescript“使用管理员权限执行shell脚本”

时间:2014-03-20 19:58:18

标签: macos shell applescript admin osx-mavericks

对小牛队来说,这很好...... [用你想要的长跑过程代替“睡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。 : - (

2 个答案:

答案 0 :(得分:2)

尝试:

do shell script "sleep 30 &>/dev/null &"

答案 1 :(得分:0)

这是小牛队的一个错误,显然是在10.9.2中引入的。 (我在10.9.1中没有看到它;我有几个应用程序在很大程度上依赖于这个功能。)请向Apple提交Radar / bug以确保他们修复它。