Linux Don';在Scala中杀死SBT后,是否不杀死子进程?
我正在Scala中运行脚本,并使用:Linux Don';在Scala中杀死SBT后,是否不杀死子进程?,linux,scala,playframework,sbt,nohup,Linux,Scala,Playframework,Sbt,Nohup,我正在Scala中运行脚本,并使用: val pb=Process(s“bash$path/script.sh”) pb.run 脚本在后台启动一个后台进程,即使sbt被终止,该进程也应该开始运行。以下是脚本: #/bin/bash nohup liquidsoap.ls>/dev/null 2>&1& echo$!>liquidsoap.pid 问题是,即使在使用nohup并重定向输出之后。当我杀死SBT时,使用脚本启动的后台进程也会被杀死 谢谢尝试将此添加到您的sbt文件中: fork
val pb=Process(s“bash$path/script.sh”)
pb.run
脚本在后台启动一个后台进程,即使sbt被终止,该进程也应该开始运行。以下是脚本:
#/bin/bash
nohup liquidsoap.ls>/dev/null 2>&1&
echo$!>liquidsoap.pid
问题是,即使在使用nohup并重定向输出之后。当我杀死SBT时,使用脚本启动的后台进程也会被杀死
谢谢尝试将此添加到您的sbt文件中:
fork in run := true
尝试将此添加到您的sbt文件:
fork in run := true
我找到了解决办法。问题是,当我杀死SBT时,我向所有进程发送了一个
SIGINT
信号。为了避免创建的进程被终止,我需要将该进程放在另一个进程组中,这是通过setsid
命令完成的。我找到了一个解决方案。问题是,当我杀死SBT时,我向所有进程发送了一个SIGINT
信号。为了避免创建的进程被终止,我需要将该进程放在另一个进程组中,这是通过setsid
命令完成的。尝试在xterm中运行此脚本,然后关闭xterm。我想这个过程会像sbt一样被终止。这不是sbt问题,而是全系统行为。我使用screen实用程序运行后台任务我已经尝试过了。关闭xterm后进程继续运行。请尝试在xterm中运行此脚本,然后关闭xterm。我想这个过程会像sbt一样被终止。这不是sbt问题,而是全系统行为。我使用screen实用程序运行后台任务我已经尝试过了。在我关闭xterm后,该进程将继续运行。谢谢,但这似乎没有什么区别。谢谢,但这似乎没有什么区别。