此命令是什么意思-“ nohup ./standalone.sh -b 0.0.0.0&”?

时间:2019-08-22 06:16:29

标签: java linux jboss jboss7.x

我在 linux 服务器上的 jboss-7.1.1 上运行了一个繁重的应用程序。我遇到了以下命令,以启动jboss“ nohup ./standalone.sh -b 0.0.0.0&”。 但我想了解更多有关此命令行的信息。 nohup.out 文件的大小也在不断增加。是因为我执行了启动jboss的命令行。有什么办法避免创建nohup.out。

3 个答案:

答案 0 :(得分:1)

nohup

nohup使以下命令不受SIGHUP信号的影响。它从终端分离命令。当终端关闭时,终端中运行的所有进程(或命令)都将收到SIGHUP(挂断)信号,然后消失。

这意味着如果关闭了终端屏幕(启动./standalone.sh的终端),standalone.sh仍在运行。它已从终端分离。

前景和背景

命令末尾的&standalone.sh程序置于后台。背景表示该命令不会阻止终端外壳。另一方面,前景中的命令将阻止对终端外壳的任何输入,直到完成为止。

示例:read -p "enter name "期望用户输入。它会阻塞终端外壳,直到按ENTER键为止。 read命令位于前景中,可阻止终端接收其他命令。后台进程不会阻止启动它的外壳。

nohup.out

此文件包含使用nohup发出的命令的输出。在您的情况下,它是standalone.sh脚本的输出。

您可以将命令的输出定向到文件:

nohup ./standalone.sh -b 0 0 0 0 & > myfile.txt

或者甚至通过写入/dev/null来处理输出。如果这样做,将丢失该命令生成的所有错误。

  nohup ./standalone.sh -b 0 0 0 0 & > /dev/null

如果您想保留任何错误消息,但又想忽略任何其他输出,请按照以下方式重定向错误流(流2):

 nohup ./standalone.sh -b 0.0.0.0 & >/dev/null 2>my-error-file.txt"

答案 1 :(得分:0)

nohup是一个本机linux解决方案工具,它对Linux系统说一旦启动,就不应停止以下命令。因此它将一直执行直到完成。即使关闭原始键入内容的外壳程序,它也将继续执行该命令。

所以...我们有:

nohup <$COMMAND> &

nohup位于要执行的命令之前。就您而言 ./ standalone.sh -b 0.0.0.0 。在该行的最后,您可以找到“&”图标,该图标用于将执行从当前shell断开。使用“&”号,因此即使任务在后台运行,您也可以继续使用相同的shell。

您可能会认为,如果任务在后台运行,为什么必须加上“ nohub”?这是因为该任务正在与原来的外壳链接。如果断开外壳程序上下文的会话,则其所有线程也将被删除,包括那些在后台工作的线程。这就是为什么nohup可以将其与Shell会话断开链接的原因……

由于您正在执行jboss线程来启动Web应用程序服务器。它可能工作24/7小时。由于您无法保持外壳的连接,并且您希望将其作为服务来使用,因此许多人都使用此工作环境来制作它。在linux服务中创建服务的其他解决方案也是可行的,但是它可以以另一种方式起作用。

我希望这会有所帮助。

答案 2 :(得分:0)

只想添加到大嫌疑犯的答案:

./standalone.sh -b 0.0.0.0

./ standalone.sh 以独立模式启动 jboss-7.1.1 (位于 JBOSS_HOME / standalone / deployments 中的war文件使用< em> JBOSS_HOME / standalone / configuration 配置等)。

-b 设置系统属性 jboss.bind.address ,并且 0.0.0.0 表示所有网络接口上的属性。像 127.0.0.1 一样,您的外部IP地址,您在本地网络中的IP等等。因此,您的jboss将在您当前连接的所有网络接口上可用。