linux后台运行程序命令

worktile 其他 19

回复

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

    在Linux系统中,可以使用以下命令将程序在后台运行:

    1. 使用&符号:在命令末尾加上&符号可以将程序放到后台运行。例如,要运行一个叫”myprogram”的程序,可以使用以下命令:

    “`
    $ ./myprogram &
    “`

    2. 使用nohup命令:nohup命令可以运行一个命令,即使终端会话已经结束,也能保持程序的运行。例如,要在后台运行一个叫”myprogram”的程序,可以使用以下命令:

    “`
    $ nohup ./myprogram &
    “`

    运行这个命令后,程序将在后台运行,并且输出会被追加到一个名为”nohup.out”的文件中。

    3. 使用disown命令:disown命令用于将正在运行的作业从Shell的任务表中移除。这样,即使关闭当前终端,程序仍然会继续在后台运行。例如,要将一个叫”myprogram”的程序移出任务表,可以按照以下步骤执行:

    – 首先,运行程序并记住它的作业号(Job ID)。例如:

    “`
    $ ./myprogram
    [1] 12345
    “`

    – 然后,使用disown命令移除该作业:

    “`
    $ disown %1
    “`

    注意,这里的%1表示第一个作业。如果有多个作业,在disown命令中使用相应的作业号。

    通过上述命令,你可以在Linux系统中将程序放到后台运行。这样,即使关闭终端或登出系统,程序仍然会继续在后台运行。请根据自己的需求选择适合的命令。

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

    在Linux环境中,可以使用以下命令将程序在后台运行:

    1. 使用 & 符号:在命令行中,在要运行的命令或程序之后加上 & 符号,例如:
    “`
    $ command &
    “`
    这将使命令或程序在后台运行。该命令的输出将不会显示在终端上,并且您可以继续在终端上执行其他命令。

    2. 使用 nohup 命令:nohup 命令可以运行一个命令,使它在后台运行,而且在退出终端后仍然保持运行。使用 nohup 命令的语法如下:
    “`
    $ nohup command &
    “`
    该命令将在后台运行,并且命令的输出将被重定向到一个叫做 nohup.out 的文件中。

    3. 使用 disown 命令:如果在运行某个命令时,您忘记在命令后面加上 & 符号,可以使用 disown 命令将该命令转为后台运行。使用 disown 命令的语法如下:
    “`
    $ command
    $ Ctrl + Z
    $ bg
    $ disown
    “`
    在运行命令后,按下 Ctrl + Z 键将命令挂起,然后使用 bg 命令将命令转为后台运行,并使用 disown 命令断开与该命令的关联。

    4. 使用 screen 命令:Screen 是一个终端多路复用器,可以让您在一个终端中同时运行多个终端会话。使用 screen 命令的语法如下:
    “`
    $ screen
    $ command
    “`
    这将在一个新的 screen 会话中运行命令。您可以使用 Ctrl + A + D 快捷键将 screen 会话转入后台运行,并使用下面的命令重新连接会话:
    “`
    $ screen -r
    “`

    5. 使用 systemd 或者 init.d 脚本:如果您想要将某个程序作为服务在后台运行,可以使用 systemd 或者 init.d 脚本将其配置为系统服务。这种方法需要一些系统管理员的知识和配置,但可以实现自动启动和管理程序的功能。

    这些是在Linux中将程序在后台运行的几种常用方法。每种方法都有其优缺点,请根据具体情况选择合适的方法。

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

    Linux 提供了很多种方式来使程序在后台运行,以下是一些常用的方法和操作流程:

    1. 使用 & 符号
    在命令行中,如果在输入需要后台运行的程序命令之后添加 & 符号,程序就会在后台运行。

    例如,要在后台运行一个名为 myprogram 的程序,可以使用以下命令:
    “`
    $ myprogram &
    “`
    这样,myprogram 程序会在后台运行,并且控制台会返回一个进程 ID(PID)。

    2. 使用 nohup 命令
    nohup 命令可以在程序后面添加,以使程序在后台运行,无视终端关闭。

    例如,要在后台运行一个名为 myprogram 的程序,可以使用以下命令:
    “`
    $ nohup myprogram &
    “`
    这样,myprogram 程序会在后台运行,并且即使关闭终端,也会继续运行。

    3. 使用 screen 命令
    screen 命令可以创建一个虚拟终端,可以在其中运行程序,并且可以在终端关闭后重新连接。

    首先,安装 screen 命令:
    “`
    $ sudo apt-get install screen
    “`
    然后,运行以下命令创建一个新的 screen 会话:
    “`
    $ screen
    “`
    在新的 screen 会话中,可以运行需要后台运行的程序。

    按下 Ctrl+a,然后按下 d 键,可以暂时离开 screen 会话,并返回到原始终端。

    要重新连接到之前创建的 screen 会话,运行以下命令:
    “`
    $ screen -r
    “`

    4. 使用 systemd 服务
    systemd 是一种常见的系统和服务管理器,可以使用它来创建后台运行的服务。

    首先,创建一个名为 myservice.service 的服务文件:
    “`
    $ sudo nano /etc/systemd/system/myservice.service
    “`
    在该文件中,添加以下内容:
    “`
    [Unit]
    Description=My Service

    [Service]
    ExecStart=/path/to/myprogram

    [Install]
    WantedBy=default.target
    “`
    将 /path/to/myprogram 替换为你的程序所在的路径。

    保存并关闭文件。

    然后,运行以下命令启动服务,并设置为开机自启动:
    “`
    $ sudo systemctl start myservice
    $ sudo systemctl enable myservice
    “`
    现在,myservice 服务会在后台运行,并且会在每次启动系统时自动启动。

    以上是一些常用的在 Linux 中后台运行程序的方法和操作流程。可以根据具体需求选择合适的方法来运行程序。

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

400-800-1024

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

分享本页
返回顶部