【发布时间】:2014-04-27 22:27:15
【问题描述】:
在 Mavericks 上,这很好用...[用您喜欢的任何长时间运行的进程替换“sleep 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。 :-(
【问题讨论】:
标签: macos shell applescript admin osx-mavericks