linux后台执行脚本的命令

worktile 其他 23

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    Linux后台执行脚本的命令可以使用以下两种方式:
    1. 使用nohup命令:nohup命令可以在用户退出登录后继续在后台运行程序。命令格式如下:
    nohup 脚本路径 &

    示例:nohup /home/user/myscript.sh &

    使用nohup命令运行脚本后,会生成一个nohup.out文件来存储脚本的输出信息。

    2. 使用&符号:可以通过在命令后面加上&符号使其在后台运行。
    命令格式如下:
    脚本路径 &

    示例:/home/user/myscript.sh &

    使用&符号运行脚本后,脚本的输出信息将直接显示在终端中。

    无论是使用nohup命令还是使用&符号,都能够让脚本在后台持续运行,并且不会受到用户退出登录或关闭终端的影响。需要注意的是,在使用这两种方式后,脚本的输出信息将不再直接显示在终端中,如果想查看脚本的输出信息,可以使用命令”tail -f nohup.out”来实时查看nohup.out文件的内容。

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

    在Linux系统下,可以使用nohup命令将脚本在后台执行,并且不会受到终端关闭的影响。以下是在Linux系统中后台执行脚本的几种常用命令:

    1. 使用nohup命令:nohup命令可以在后台执行命令,并且将命令的输出重定向到nohup.out文件中,使用该命令可以避免程序在终端关闭时被终止。命令格式如下:

    “`
    nohup command > nohup.out 2>&1 &
    “`

    其中,`command`代表需要后台执行的脚本或命令。

    使用示例:`nohup ./script.sh > nohup.out 2>&1 &`

    2. 使用&符号:在命令的末尾加上&符号,可以将该命令置于后台执行。例如:

    “`
    ./script.sh &
    “`

    这样执行的脚本将在后台运行,并且终端不会被阻塞。

    3. 使用screen命令:screen是一个能够在单一物理终端中实现多重视窗的全屏窗口管理器,使用screen命令启动一个新的会话后,即使终端关闭,该会话仍然在后台运行。使用该命令可以在后台执行脚本,且不受终端关闭的影响。

    “`
    screen -dmS session_name ./script.sh
    “`

    其中,`session_name`代表会话的名称,`./script.sh`代表需要后台执行的脚本。

    4. 使用at命令:at命令可以通过指定一个时间来执行后台任务。可以使用at命令将脚本任务提交到后台执行,并且不会受到终端关闭的影响。

    “`
    echo “sh /path/to/script.sh” | at now + 1 minute
    “`

    上述命令将在当前时间的一分钟后执行脚本。

    5. 使用cron定时任务:使用cron定时任务可以实现定时执行脚本的功能。通过编辑cron表达式,可以指定脚本的执行时间和频率。以下是使用crontab命令编辑cron表达式的步骤:

    – 使用以下命令编辑cron表达式:

    “`
    crontab -e
    “`

    – 在编辑器中添加需要定时执行的脚本的命令,例如:

    “`
    * * * * * sh /path/to/script.sh
    “`

    上述命令表示每分钟执行一次脚本。

    保存并退出编辑器后,cron会根据配置的时间自动执行脚本。

    以上是在Linux系统中后台执行脚本的几种常用命令。根据具体的需求,选取适合的方法即可。

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

    在Linux系统中,可以使用nohup命令将脚本放到后台运行,同时忽略挂断(Hangup)信号。下面是在Linux中后台执行脚本的命令及操作流程:

    1. 打开终端(Terminal)或者登录远程服务器。

    2. 编写一个需要后台执行的脚本文件,比如脚本文件名为script.sh。可以使用任何文本编辑器来创建和编辑脚本文件。一个简单的示例脚本如下:

    “`bash
    #!/bin/bash
    echo “这是一个后台执行的脚本”
    sleep 10
    echo “脚本执行完毕”
    “`

    这个脚本会输出一段文字,并且在后台等待10秒钟后输出另一段文字。

    3. 使用chmod命令给脚本文件添加执行权限:

    “`bash
    chmod +x script.sh
    “`

    4. 使用nohup命令后台执行脚本:

    “`bash
    nohup ./script.sh &
    “`

    使用nohup命令可以将脚本放到后台执行,并且使用&符号使该命令在后台运行。nohup命令会将脚本的输出重定向到nohup.out文件中,该文件会在当前目录下生成。

    5. 脚本会在后台执行,你可以继续输入其他命令,而不会被脚本的执行所阻塞。你可以使用如下命令来查看脚本是否在后台执行:

    “`bash
    ps aux | grep script.sh
    “`

    该命令会列出正在运行的与脚本相关的进程。

    6. 如果想要结束脚本的后台执行,可以使用kill命令。首先,使用ps aux | grep script.sh命令找到脚本的进程ID(PID),然后使用kill命令结束脚本的执行。假设脚本的PID为12345,可以使用如下命令:

    “`bash
    kill 12345
    “`

    这样就会结束脚本的后台执行。

    无论你关闭终端或者断开SSH连接,脚本都会继续在后台执行。脚本的输出可以在nohup.out文件中查看。

    注意:使用nohup命令后,脚本不能接收标准输入。如果脚本中有需要用户输入的部分,可能会导致脚本异常运行或者卡住。在这种情况下,可以使用其他方法来解决,比如在脚本中使用重定向或者在脚本执行前提前输入相关信息。

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

400-800-1024

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

分享本页
返回顶部