shell脚本后台挂起执行
时间: 2023-04-24 17:00:14 浏览: 807
在Linux系统中,可以使用nohup命令将shell脚本挂起执行,即使关闭终端或退出登录,脚本仍然会在后台继续运行。具体操作如下:
1. 打开终端,进入要执行的脚本所在的目录。
2. 输入以下命令:
nohup ./脚本名.sh &
其中,脚本名.sh是要执行的脚本文件名。
3. 按下回车键后,脚本就会在后台挂起执行。
4. 如果需要查看脚本的输出信息,可以使用以下命令:
tail -f nohup.out
其中,nohup.out是nohup命令默认生成的输出文件名。
5. 如果需要停止脚本的执行,可以使用以下命令:
ps -ef | grep 脚本名.sh
找到脚本的进程号,然后使用kill命令停止脚本的执行:
kill 进程号
注意:在使用nohup命令挂起执行脚本时,需要确保脚本本身是可靠的,否则可能会导致系统出现异常。
相关问题
shell脚本后台执行命令
要在Shell脚本中将命令后台执行,可以使用以下两种方法:
1. 使用`&`符号:在命令的末尾加上`&`符号,表示将命令放到后台执行。例如:
```shell
command &
```
这样该命令就会在后台运行,脚本会继续执行下面的代码。
2. 使用`nohup`命令:`nohup`命令可以在命令执行时忽略挂起信号,并将命令输出重定向到一个文件。这样即使脚本结束,命令也会继续在后台执行。例如:
```shell
nohup command > output.log 2>&1 &
```
这里,`command`是要执行的命令,`output.log`是输出日志的文件名。`2>&1`表示将标准错误输出重定向到标准输出。
无论选择哪种方法,都可以将命令放到后台执行,允许脚本继续执行其他代码。
shell脚本怎么保持后台运行
将一个shell脚本放在后台运行的最简单方式是使用“&”符号将命令放在后面,例如:$./script.sh &。这将使脚本在后台运行,用户可以继续使用终端。
另一种方式是使用nohup命令。nohup命令可以让命令在后台运行,并忽略SIGHUP(挂起信号)。命令的输出被重定向到一个名为nohup.out的文件中。例如:$nohup ./script.sh &。
最后,可以使用screen,它是一个终端多路复用器。用户可以在同一终端窗口中创建多个屏幕,并同时运行多个命令。用户可以轻松地在屏幕之间切换。screen可以通过一些简单的指令来执行脚本并在后台运行。例如:$screen -dmS script_name ./script.sh。
总之,使用&符号、nohup命令或者screen都可以让shell脚本在后台运行。但是,每种方法都有自己的优点和缺点,用户需要根据自己的需求选择最适合自己的方式。