温馨提示×

nohup命令如何在Linux中忽略挂起信号

小樊
55
2025-07-19 03:26:36
栏目: 智能运维

在Linux中,nohup命令用于在后台运行程序,即使用户退出登录或关闭终端,程序也会继续运行

以下是如何使用nohup命令忽略挂起信号的示例:

  1. 首先,使用nohup命令启动程序。例如,如果你想在后台运行名为my_script.sh的脚本,可以使用以下命令:
nohup ./my_script.sh & 

这将在后台运行my_script.sh,并将输出重定向到名为nohup.out的文件。

  1. 要忽略挂起信号(SIGHUP),你需要在程序中捕获该信号并执行相应的操作。在你的脚本中,可以使用trap命令来捕获SIGHUP信号。例如:
#!/bin/bash # 定义一个函数,当接收到SIGHUP信号时执行 handle_sighup() { echo "SIGHUP信号已忽略" } # 使用trap命令捕获SIGHUP信号,并调用handle_sighup函数 trap 'handle_sighup' SIGHUP # 你的脚本逻辑 while true; do echo "程序正在运行..." sleep 10 done 

将此脚本保存为my_script.sh,然后使用nohup命令在后台运行它。现在,即使你关闭终端或退出登录,程序也会继续运行,并且不会因挂起信号而终止。

0