Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Don';在Scala中杀死SBT后,是否不杀死子进程?_Linux_Scala_Playframework_Sbt_Nohup - Fatal编程技术网

Linux Don';在Scala中杀死SBT后,是否不杀死子进程?

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

我正在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 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后,该进程将继续运行。谢谢,但这似乎没有什么区别。谢谢,但这似乎没有什么区别。