linux下让命令保持时间执行

fiy 其他 12

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Linux下让命令保持时间执行可以使用如下方法:

    1. 使用nohup命令

    nohup命令是Linux下的一个工具,可以使命令在后台运行,并且不受终端关闭的影响。该命令的格式如下:

    “`
    nohup command &
    “`

    其中,command是要执行的命令。执行完nohup命令后,命令会在后台执行,并且会将输出信息保存到nohup.out文件中。

    使用nohup命令的示例:

    “`
    nohup ./your_command &
    “`

    2. 使用screen命令

    screen命令是一个虚拟终端管理工具,可以在一个终端下创建多个虚拟终端,并且可以在这些虚拟终端之间切换。使用screen命令可以使命令在后台运行,并且保持在虚拟终端中。screen命令的使用如下:

    首先,在终端中输入screen命令,创建一个虚拟终端。

    然后,在虚拟终端中输入要执行的命令。

    执行完命令后,可以使用以下命令将虚拟终端切换回终端:

    “`
    Ctrl + A + D
    “`

    使用screen命令的示例:

    “`
    screen
    your_command
    Ctrl + A + D
    “`

    3. 使用disown命令

    disown命令可以将一个正在运行的命令从终端中“解绑”,使其在后台继续运行。这样,即使关闭终端,命令也会继续执行。

    使用disown命令的格式如下:

    “`
    disown -h %job_number
    “`

    其中,%job_number是要解绑的命令的作业号(可以通过jobs命令查看)。

    使用disown命令的示例:

    首先,在终端中输入要执行的命令。

    然后,使用Ctrl + Z暂停命令的执行。

    接着,使用bg命令将命令放到后台执行。

    最后,使用disown -h %job_number解绑命令。

    以上是在Linux下让命令保持时间执行的方法,你可以根据需要选择其中的一种来使用。

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

    在Linux中,有几种方法可以让命令保持时间执行,包括使用nohup命令、使用screen会话、使用后台作业和使用at命令。下面将详细介绍这些方法。

    1. 使用nohup命令:
    nohup命令可以使命令在后台运行,并且忽略任何挂起信号,即使用户退出或断开与终端的连接,命令也会继续执行。使用nohup命令的基本语法如下:
    “`
    nohup command &
    “`
    这将使命令以后台作业的形式运行,并将输出重定向到一个名为nohup.out的文件中。

    2. 使用screen会话:
    Screen是一个终端多路复用器,可以创建一个或多个会话,每个会话可以在其中运行命令。如果网络连接断开或终端关闭,会话仍然保持活动状态。使用screen会话的基本步骤如下:
    – 启动一个新的screen会话:`screen -S session_name`
    – 在会话中运行命令:执行你想要保持时间执行的命令
    – 分离会话:按下Ctrl + A,然后按下D键
    – 重新连接会话:`screen -r session_name`

    3. 使用后台作业:
    在Linux中,可以使用&符号将命令放入后台执行。这样,命令将继续在后台运行,即使用户退出或断开与终端的连接。使用后台作业的基本语法如下:
    “`
    command &
    “`

    4. 使用at命令:
    at命令允许在指定的时间运行命令。通过将命令与at命令结合使用,可以在未来的某个时间点运行命令,并且该命令会在指定的时间后持续执行。使用at命令的基本步骤如下:
    – 使用at命令打开一个新的job:`at future_time`
    在future_time处输入指定的时间,可以使用绝对时间(如12:00 PM)或相对时间(如15 minutes)。
    – 输入要执行的命令:在命令提示符下输入命令
    – 关闭at窗口:按下Ctrl + D

    5. 使用nohup + disown命令:
    还可以结合使用nohup和disown命令来保持命令的时间执行。nohup命令用于将命令放入后台执行,disown命令则将已经在后台执行的命令从当前终端会话中分离出来。使用nohup + disown命令的基本语法如下:
    – 运行命令并将其放入后台执行:`nohup command &`
    – 使用jobs命令查看后台列表中的作业编号
    – 使用disown命令将作业从终端会话中分离出来:`disown -h job_number`
    这样,命令将在后台继续执行,即使用户退出或断开与终端的连接。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux下,如果想让一个命令在一定的时间内持续执行,可以使用以下的方法和操作流程。

    方法一:使用`timeout`命令
    1. 使用`timeout`命令可以在指定时间内执行一个命令,并在超时后终止它。`timeout`命令的语法如下:
    “`bash
    timeout [OPTION] DURATION COMMAND [ARG]…
    “`
    其中:
    – `OPTION`是可选的参数,可以用来指定一些附加选项。
    – `DURATION`是指执行的时间限制,可用的时间单位有`s`(秒)、`m`(分钟)、`h`(小时)等。
    – `COMMAND`和`ARG`是要执行的命令和参数。

    2. 假设要执行的命令是`command_to_run`,时间限制为`5`秒,可以使用以下的命令:
    “`bash
    timeout 5s command_to_run
    “`
    这将在5秒钟内执行`command_to_run`命令,并在超时后终止它。

    方法二:使用`ulimit`命令
    1. `ulimit`命令用于设置或显示用户的资源限制信息。可以使用`-t`选项设置CPU时间限制。
    “`bash
    ulimit -t TIME_LIMIT
    “`
    其中,`TIME_LIMIT`是指执行的时间限制,单位是秒。

    2. 假设要执行的命令是`command_to_run`,时间限制为`5`秒,可以执行以下的命令:
    “`bash
    (ulimit -t 5; command_to_run)
    “`
    这将在5秒钟内执行`command_to_run`命令,并在超时后终止它。

    方法三:使用`timeout`命令和管道
    1. 可以使用管道`|`将`timeout`命令与要执行的命令连接起来,将命令的输出重定向到其他地方。例如:
    “`bash
    timeout DURATION COMMAND | OTHER_COMMANDS
    “`

    2. 假设要执行的命令是`command_to_run`,时间限制为`5`秒,可以执行以下的命令:
    “`bash
    timeout 5s command_to_run | other_commands
    “`
    这将在5秒钟内执行`command_to_run`命令,并将其输出传递给`other_commands`进行处理。

    以上是在Linux下让命令保持时间执行的一些方法和操作流程。希望对你有帮助!

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

400-800-1024

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

分享本页
返回顶部