linux命令关闭终端后仍然执行

worktile 其他 28

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux中,有一种命令可以在关闭终端后仍然执行,称为后台执行命令。

    后台执行命令的语法为:命令名 &

    例如,要在终端关闭后仍然执行”ping baidu.com”命令,可以输入以下命令:

    “`shell
    ping baidu.com &
    “`

    在执行该命令后,终端会立即返回一个进程号(PID),表示该命令已被放入后台执行。然后可以关闭终端窗口,该命令仍然会继续执行。

    如果想查看后台执行的命令进程是否正在执行,可以使用ps命令。例如,要查看当前运行的所有进程,可以输入以下命令:

    “`shell
    ps -ef
    “`

    通过查看ps命令的输出结果,可以找到ping命令对应的进程号,以及其他相关信息。

    如果希望在后台执行命令时将输出保存到一个文件中,可以使用重定向操作符”>”。例如,要将ping命令的输出保存到一个名为”ping.log”的文件中,可以输入以下命令:

    “`shell
    ping baidu.com > ping.log &
    “`

    这样,ping命令的输出就会被重定向到”ping.log”文件中,可以在终端关闭后通过查看该文件来查看ping命令的执行结果。

    需要注意的是,后台执行命令会继续在后台执行,直到命令执行完成或被手动停止。如果希望停止后台执行的命令,可以使用kill命令。例如,要停止进程号为1234的后台执行命令,可以输入以下命令:

    “`shell
    kill 1234
    “`

    以上就是Linux中通过后台执行命令来实现在终端关闭后仍然执行的方法。希望能对你有所帮助!

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Linux中,有几种方法可以关闭终端后仍然执行命令。以下是其中的一些方法:

    1. 使用nohup命令:nohup命令用于在后台运行命令,并且在关闭终端后继续执行。使用nohup命令的语法如下:

    “`
    nohup command &
    “`

    在上面的命令中,command是要运行的命令。通过在命令的末尾加上`&`符号,可以将命令放在后台运行。nohup命令会将命令的输出追加到一个名为nohup.out的文件中。因此,您可以在终端关闭后查看nohup.out文件以获取输出。

    例如,要在后台运行一个名为script.sh的Shell脚本,您可以使用以下命令:

    “`
    nohup ./script.sh &
    “`

    2. 使用disown命令:disown命令用于将一个正在运行的任务从终端会话中”解绑”,使其不受终端关闭的影响。使用disown命令的语法如下:

    “`
    disown -h jobid
    “`

    在上面的命令中,jobid是要解绑的任务的作业ID。要查看作业ID,可以使用`jobs`命令。

    例如,如果要将一个名为”sleep 60″的任务从终端会话中解绑,您可以使用以下命令:

    “`
    sleep 60 &
    disown -h %1
    “`

    上述命令中的%1表示第一个作业的作业ID。

    3. 使用screen命令:screen命令用于创建具有多个”窗口”的终端会话。通过在screen会话中运行命令,即使关闭终端,命令也会继续运行。要使用screen命令,首先需要安装它。可以使用以下命令在Ubuntu上安装screen:

    “`
    sudo apt-get install screen
    “`

    安装完成后,可以使用以下命令创建一个screen会话:

    “`
    screen
    “`

    在screen会话中,您可以运行您需要的命令。要在screen会话中退出当前窗口而不关闭会话,请按Ctrl + A,然后按D。要重新连接到之前的screen会话,可以使用以下命令:

    “`
    screen -r
    “`

    这将重新连接到上次的screen会话,并恢复所有之前运行的命令。

    4. 使用tmux命令:tmux命令与screen类似,也用于创建具有多个”窗格”的终端会话。要使用tmux命令,首先需要安装它。可以使用以下命令在Ubuntu上安装tmux:

    “`
    sudo apt-get install tmux
    “`

    安装完成后,可以使用以下命令创建一个tmux会话:

    “`
    tmux new-session
    “`

    在tmux会话中,您可以运行您需要的命令。要在tmux会话中分离并保持命令继续运行,请按Ctrl + B,然后按D。要重新连接到之前的tmux会话,可以使用以下命令:

    “`
    tmux attach-session
    “`

    这将重新连接到上次的tmux会话,并恢复所有之前运行的命令。

    5. 使用at或batch命令:at和batch命令允许您安排在指定时间执行命令。这意味着即使关闭终端,命令也会在指定的时间执行。要使用at命令,可以使用以下语法:

    “`
    at time
    “`

    在上面的命令中,time是指定的时间。在at提示符下,您可以输入要执行的命令。然后按Ctrl + D以保存并退出。命令将在指定的时间自动执行。

    例如,要在10分钟后运行一个名为”command”的命令,您可以使用以下命令:

    “`
    at now + 10 minutes
    command

    “`

    使用batch命令与使用at命令类似,只是它在系统负载较低时运行命令。

    以上是一些在关闭终端后仍然执行命令的方法。每种方法都有其自己的用途和适用场景,请根据需要选择合适的方法。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在Linux中,有两种常见的方法可以让命令在关闭终端后仍然执行:使用nohup命令和使用screen会话。

    方法一:使用nohup命令

    1. 使用nohup命令可以在后台运行命令,并忽略终端关闭信号。

    “`
    nohup command &
    “`

    command表示要在后台执行的命令。

    &表示将命令放入后台运行。

    nohup命令将命令从当前的终端分离,忽略终端关闭信号。

    2. 示例:假设我们要在终端执行一个Python脚本,在终端关闭后仍然运行。

    “`
    nohup python script.py &
    “`

    这将在后台运行script.py脚本,并且终端关闭后脚本仍然会继续执行。

    3. 执行nohup命令后,会在当前目录生成一个名为nohup.out的文件,用于存储命令的输出。通过查看该文件可以获取命令的输出结果。

    “`
    tail -f nohup.out
    “`

    这将显示nohup.out文件的最后几行,即命令的输出结果。使用tail -f命令可以实时查看输出。

    方法二:使用screen会话

    1. screen是一个用于在终端窗口中创建和管理多个虚拟终端的命令。

    2. 首先,需要安装screen命令。使用以下命令在Ubuntu上进行安装:

    “`
    sudo apt-get install screen
    “`

    3. 创建一个新的screen会话:

    “`
    screen -S session_name
    “`

    session_name是会话的名称,在创建会话时可以自定义。

    4. 在screen会话中运行命令。

    “`
    command
    “`

    command是要在screen会话中运行的命令。可以在会话中运行多个命令。

    5. 断开screen会话。

    按下Ctrl+A,然后按下d键。

    这将断开会话,但会话中的命令仍然会在后台运行。

    6. 重新连接screen会话。

    “`
    screen -r session_name
    “`

    session_name是要重新连接的会话的名称。

    运行此命令后会重新连接到之前创建的会话,并可以查看命令的运行结果。

    使用这两种方法,你可以在关闭终端后仍然执行命令,并且可以查看命令的输出结果。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部