linux怎么让命令后台运行
-
在Linux中,你可以通过以下几种方式让命令在后台运行:
1. 使用”&”符号: 在命令末尾添加”&”符号,即可让命令在后台运行。例如:`command &`。这样,命令会在后台运行,并且你可以继续在终端中输入其他命令。
2. 使用nohup命令: nohup命令可以将命令的输出重定向到一个文件,并且不会受到终端关闭的影响,命令仍然在后台运行。例如:`nohup command > output.log &`。这样,命令的输出会被重定向到output.log文件中,而且你仍然可以继续在终端中输入其他命令。
3. 使用disown命令: 如果你已经使用了”&”或nohup命令将命令放到后台运行,但是想要在后续的操作中将该命令与当前终端会话分离,可以使用disown命令。例如:`command & disown`。这样,你可以在终端中关闭当前会话,命令仍然会继续在后台运行。
4. 使用screen或tmux命令: screen和tmux是两个终端复用工具,可以让你在一个终端会话中创建多个虚拟终端窗口,并且可以在窗口之间切换,让命令在后台一直运行。你可以使用以下命令安装和使用它们:
– 安装screen: `sudo apt-get install screen`
– 使用screen: `screen`
– 创建一个新窗口: 按下Ctrl+a,然后按下c
– 切换到下一个窗口: 按下Ctrl+a,然后按下n
– 切换到上一个窗口: 按下Ctrl+a,然后按下p
– 在当前窗口中运行命令: 输入命令,然后按下回车键
– 挂起screen会话: 按下Ctrl+a,然后按下d。这样,会话将继续在后台运行。
– 恢复已挂起的screen会话: 运行`screen -r`命令,即可恢复之前的会话。无论你选择哪一种方式,都可以让命令在后台运行,这样你可以在终端中继续执行其他操作,而不被命令的运行所阻塞。
2年前 -
在Linux中,你可以使用以下方法将命令在后台运行:
1. 使用”&”运算符:在命令的末尾加上”&”符号,例如:
“`
command &
“`
这样,命令将在后台运行,控制终端将不会被该命令占用。你可以继续在终端中输入其他命令。2. 使用nohup命令:nohup命令可以在命令的前面使用,例如:
“`
nohup command
“`
这样,命令将以忽略挂断信号的方式在后台运行。nohup还会输出一个nohup.out文件,其中包含命令的输出。你可以使用命令”tail -f nohup.out”来实时查看命令的输出。3. 使用screen命令:screen命令可以创建一个或多个虚拟终端,可以在虚拟终端中运行命令,并可以在各个虚拟终端之间切换。这样,即使你注销当前会话,命令也会继续在后台运行。使用screen命令的基本语法如下:
– 创建新的虚拟终端:
“`
screen -S session_name
“`
– 在虚拟终端中运行命令:
“`
command
“`
– 退出虚拟终端:
按下Ctrl + A,然后按下D键,即可退出虚拟终端。
– 重新连接到虚拟终端:
“`
screen -r session_name
“`4. 使用disown命令:disown命令可以将正在运行的命令从当前终端的作业列表中移除,并将其置为后台任务,即使你关闭当前终端,命令也不会被终止。
– 先使用Ctrl+Z将命令置为后台任务。
– 然后使用bg命令将后台任务转为继续运行。
– 最后使用disown命令将任务从作业列表中移除。5. 使用at或batch命令:at命令可以在指定的时间运行命令,而batch命令则会在系统负载较低的时候运行命令。以下是两个命令的示例用法:
– 使用at命令:
“`
echo “command” | at 18:00
“`
这里的18:00表示的是命令运行的时间。
– 使用batch命令:
“`
batch << EOF command EOF ``` 这样,命令将在系统负载较低的时候运行。2年前 -
要让Linux命令在后台运行,可以使用以下几种方法:
1. 使用&符号
在命令后面加上一个&符号,可以将其放到后台运行,例如:
“`shell
$ command &
“`这样,命令就会在后台一直运行,而不阻塞终端。
2. 使用nohup命令
nohup命令可以在终端退出后继续运行命令,并且将输出重定向到一个文件。使用nohup命令的语法如下:
“`shell
$ nohup command > output.log 2>&1 &
“`这样,命令就会在后台运行,并将输出重定向到output.log文件。
3. 使用screen命令
screen命令是一个终端复用工具,可以在一个终端窗口中创建多个窗口,并在后台运行命令。使用screen命令的基本流程如下:
– 启动一个新的screen会话:
“`shell
$ screen
“`– 在新的screen会话中运行命令:
“`shell
$ command
“`– 按下Ctrl+A,然后按下D键,可以将screen会话放到后台。
– 可以使用以下命令列出已经创建的screen会话:
“`shell
$ screen -ls
“`– 可以使用以下命令恢复一个已经在后台运行的screen会话:
“`shell
$ screen -r session_id
“`其中,session_id是screen会话的ID,可以从screen -ls命令中获取。
这样,命令就会在screen会话中后台运行,即使终端窗口关闭也不会停止。
4. 使用disown命令
disown命令可以将一个正在运行的命令从终端会话中分离出来,并在后台继续运行。使用disown命令的基本流程如下:
– 运行命令:
“`shell
$ command
“`– 按下Ctrl+Z暂停命令。
– 使用bg命令将命令放到后台运行:
“`shell
$ bg
“`– 使用jobs命令列出正在运行的作业,找到命令的作业ID。
– 使用disown命令将命令分离:
“`shell
$ disown %job_id
“`其中,job_id是命令的作业ID。
这样,命令就会在后台继续运行,即使终端窗口关闭也不会停止。
总结起来,想要让Linux命令在后台运行,可以使用&符号、nohup命令、screen命令或disown命令。具体选择哪种方法取决于具体需求和场景。
2年前