maa*_*nus 5 background-process gradle
我创建了一个任务,开始像这样的远程工作
task mytask(type: Exec) {
commandLine 'ssh'
args '-f -l me myserver ./start'.split(' ')
}
Run Code Online (Sandbox Code Playgroud)
并且它有效,但是,它似乎在等待作业终止。但是它永远不会终止,也不会终止。
在命令行中执行相同的操作是有效的:由于进行了-f切换,因此ssh命令在后台执行。
我尝试将'>&' /dev/null(csh stdout和stderr redirect)添加到命令行,但是没有成功。同样显而易见的&是什么也没做。我还将命令行提取到脚本中,并且始终相同:Gradle等待终止。
我已经通过使用脚本并在脚本中同时重定向stdout和stderr来解决了该问题。我的问题来自于令人困惑的重定向……通过传递,'>&' /dev/null我重定向了远程计算机上的流,但是需要的是在本地计算机上进行重定向(即,不将重定向操作符放在引号中)。
Exec任务始终等待终止。要运行后台作业,请使用Ant任务“ Exec”
ant.exec(
executable: 'ssh',
spawn: true
) {
arg '-f'
arg '-l'
arg 'me'
arg 'myserver'
arg './start'
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7720 次 |
| 最近记录: |