linux退出终端仍运行命令
-
当你在linux终端运行一个命令时,如果你直接关闭终端窗口,命令将会停止执行。然而,有一种方法可以让命令在后台继续运行,即使用以下方法:
1. 使用”&”符号:在运行命令时,在命令末尾添加”&”符号,表示将命令放到后台运行。例如,要执行一个长时间运行的命令,你可以输入:command &
2. 使用nohup命令:nohup命令可以在后台运行一个命令,并忽略SIGHUP信号(即终端关闭信号)。它的使用方法是:nohup command &
3. 使用screen命令:screen命令可以创建一个虚拟终端会话,并在该会话中运行命令。即使你退出主终端窗口,命令仍会在后台继续运行。你可以通过以下步骤来使用screen命令:
1) 打开一个新的终端窗口;
2) 输入screen命令,并按下回车键;
3) 在新的会话中运行你的命令;
4) 按下Ctrl + A,然后按下D键,将会话转入后台运行;
5) 关闭主终端窗口。无论你选择哪种方法,命令都将在后台继续运行,直到执行完毕。你可以使用命令”ps aux | grep command”来检查命令是否仍在运行,并获取其进程ID(PID)。需要注意的是,如果命令产生输出,它将会被发送到默认的输出流(通常是终端),你可能需要将其重定向到文件中,以便后续查看。你可以使用命令”command > output.txt”将输出重定向到一个名为output.txt的文件中。
2年前 -
在Linux中,如果你在终端中运行了一个命令,并希望在退出终端后继续运行该命令,你可以使用以下几种方法:
1. 使用nohup命令:使用nohup命令可以将命令在后台运行,并将其输出重定向到一个文件中。这样即使你退出了终端,命令依旧会继续在后台运行。
例如,要运行一个命令并将其输出保存到一个名为output.txt的文件中,可以使用以下命令:
“`
nohup command > output.txt &
“`如果你想要查看命令的输出,可以使用以下命令:
“`
tail -f output.txt
“`2. 使用disown命令:disown命令可以将一个正在运行的命令与当前终端的会话解除关联,使其成为一个独立的进程。这样,即使退出了终端,该命令也会继续运行。
要使用disown命令,首先运行一个命令,然后使用Ctrl+Z将其挂起,并使用bg命令将其转移到后台运行。最后,使用disown命令将其与当前终端的会话解除关联。
例如,要运行一个命令并将其与当前终端的会话解除关联,可以按照以下步骤进行:
– 运行命令,并使用Ctrl+Z将其挂起。
– 使用bg命令将其转移到后台运行。
– 使用disown命令解除关联:
“`
disown
“`如果你想要查看命令的输出,你可以将其输出重定向到一个文件中。
3. 使用tmux或screen工具:tmux和screen是两个常用的终端多路复用工具,可以使你在一个终端窗口中运行多个会话。使用这些工具,你可以创建一个新的会话,并在该会话中运行命令。即使你退出了终端,该会话仍将继续运行。
例如,要使用tmux创建一个新的会话并在其中运行一个命令,可以按照以下步骤进行:
– 启动tmux会话:
“`
tmux new-session -s session_name
“`
– 在新的会话中运行命令。
– 按下Ctrl+b,然后按下d键将会话分离。如果你想要重新连接到该会话,可以使用以下命令:
“`
tmux attach -t session_name
“`4. 使用后台运行符号(&):在运行命令时,在命令的末尾加上一个“&”符号,可以将该命令放入后台运行。这样,即使你退出了终端,该命令也会继续在后台运行。
例如,要运行一个命令并将其放到后台运行,可以使用以下命令:
“`
command &
“`如果你想要查看命令的输出,可以使用以下命令:
“`
tail -f file_name
“`5. 使用终端复用工具:终端复用工具(如mosh和tmate)是专门设计用于在断开连接后保持会话运行的工具。这些工具可以在你的本地计算机和远程服务器之间建立一个稳定的连接,并将你的终端会话保持在远程服务器上,即使你断开了连接,会话仍然会继续运行。
例如,要在本地计算机和远程服务器之间建立一个稳定的连接并保持会话运行,你可以使用mosh命令:
“`
mosh user@remote_server
“`如果你断开了连接,你可以重新连接到会话:
“`
mosh –ssh=”ssh -p port_number” –server=mosh-server user@remote_server
“`总之,上述方法可以让你在退出终端后继续运行命令。你可以根据自己的需求选择合适的方法。
2年前 -
在Linux中,如果你希望在退出终端后仍然运行某个命令,你可以通过以下方法实现:
1. 使用nohup命令
nohup命令可以在后台运行一个命令,并忽略挂断信号,这样即使你退出终端,命令仍然会继续在后台运行。使用方法:nohup command &
例如,如果你想在后台运行一个名为”my_command”的命令:
nohup my_command &2. 使用tmux或screen命令
tmux和screen是一种终端复用工具,它们可以在一个终端窗口中创建多个会话。通过在tmux或screen会话中运行命令,即使你退出终端,命令也会继续在会话中运行。使用方法:
– 安装tmux:sudo apt-get install tmux(针对Debian/Ubuntu系统)
– 启动一个tmux会话:tmux
– 在tmux会话中运行命令:command
– 按下Ctrl+b,然后按下d键来分离会话(即退出tmux但保留后台运行的命令)
– 当你重新连接到服务器时,可以使用tmux attach命令重新附加到之前的会话中:tmux attach使用方法:
– 安装screen:sudo apt-get install screen(针对Debian/Ubuntu系统)
– 启动一个screen会话:screen
– 在screen会话中运行命令:command
– 按下Ctrl+a,然后按下d键来分离会话(即退出screen但保留后台运行的命令)
– 当你重新连接到服务器时,可以使用screen -r命令重新附加到之前的会话中:screen -r3. 使用后台运行命令符号(&)
在终端中运行命令时,可以在命令末尾加上”&”符号,将命令放入后台运行。这样无论你关闭终端还是退出登录,命令都会继续在后台运行。例如:command &
这些方法可以让你在退出终端后仍然运行命令,具体选择哪种方法可以根据你的具体需求和喜好来决定。
2年前