linux命令行后台启动

不及物动词 其他 194

回复

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

    在Linux系统中,可以使用一些命令行操作来将程序以后台方式启动,不占用当前终端窗口。下面介绍两种常用的方式:

    1. 使用”nohup”命令
    使用nohup命令可以将程序以后台方式启动,并将所有输出重定向到一个文件中。使用方法如下:
    “`
    nohup 命令 >/path/to/output.log 2>&1 &
    “`
    其中,”命令”是要后台启动的程序或命令,”/path/to/output.log”是输出文件的路径。使用”>”符号可以将命令的标准输出重定向到该文件,”2>&1″将标准错误也重定向到标准输出。”&”符号可以将任务放入后台运行,不占用当前终端窗口。

    例如,如果要后台运行一个名为”myprogram”的程序,并将输出保存到”/home/user/output.log”文件中,可以使用以下命令:
    “`
    nohup ./myprogram >/home/user/output.log 2>&1 &
    “`

    2. 使用”&”符号
    另一种简单的方式是在命令末尾加上”&”符号,将程序放入后台运行。例如:
    “`
    命令 &
    “`
    这种方式没有重定向输出的功能,程序的输出会直接显示在终端窗口上。

    需要注意的是,使用后台启动的程序在执行过程中不会与终端窗口进行交互,也无法获取输入。如果需要与程序进行交互,可以使用其他方法,如使用其它的终端窗口或通过管道等方式进行输入输出。

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

    在Linux命令行中,可以使用以下方法在后台启动应用程序:

    1. 使用”&”符号:在命令的末尾加上”&”符号,该命令将在后台运行,而不会阻塞命令行终端。例如:

    “`
    $ command &
    “`

    这将在后台启动名为”command”的应用程序。

    2. 使用nohup命令:nohup命令可以在后台运行应用程序,并将其输出重定向到一个文件中。例如:

    “`
    $ nohup command > output.log &
    “`

    这将在后台启动名为”command”的应用程序,并将其输出重定向到名为”output.log”的文件中。

    3. 使用disown命令:disown命令可以将正在运行的命令从当前终端会话中分离,使其在后台继续运行。例如:

    “`
    $ command
    Ctrl+Z
    $ bg
    $ disown %1
    “`

    这将在后台启动名为”command”的应用程序,并将其从当前终端会话中分离。

    4. 使用tmux或screen工具:tmux和screen是两个强大的终端复用工具,它们允许在后台运行多个终端会话,并可以在这些会话之间切换。可以使用以下命令启动tmux或screen:

    “`
    $ tmux

    $ screen
    “`

    然后,在新的tmux或screen会话中启动应用程序。

    5. 使用systemd服务:如果需要在系统启动时自动后台运行应用程序,可以创建一个systemd服务单元。首先创建一个描述服务的文件,例如`/etc/systemd/system/myapp.service`,然后编辑该文件并添加以下内容:

    “`
    [Unit]
    Description=My App

    [Service]
    ExecStart=/path/to/myapp
    Type=simple
    Restart=always

    [Install]
    WantedBy=multi-user.target
    “`

    保存并关闭文件,然后使用以下命令启动服务:

    “`
    $ sudo systemctl start myapp
    “`

    该服务将在后台运行。

    以上是在Linux命令行中后台启动应用程序的几种方法。根据需要选择适合的方法。

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

    在Linux中,可以使用一些命令行选项来启动程序并将其放入后台运行。下面是几种常用的方法:

    1. 使用 & 符号
    这是最简单的一种方法,只需要在命令的末尾加上一个 & 符号即可。这样程序就会在后台启动,命令行会立即返回,并且可以继续输入其他命令。

    例如,要在后台启动一个名为myprogram的程序,可以输入:
    “`
    ./myprogram &
    “`

    2. 使用 nohup 命令
    nohup 命令可以在程序运行时忽略 SIGHUP 信号,从而使程序在终端关闭后仍然继续运行。它还可以将输出重定向到一个文件中,以便稍后查看。

    例如,要在后台启动一个名为myprogram的程序,并将输出保存到一个文件中,可以输入:
    “`
    nohup ./myprogram > output.log &
    “`

    程序的输出将会写入output.log文件中。

    3. 使用 screen 命令
    screen 是一个非常有用的命令,它可以创建一个虚拟终端窗口,并在其中运行程序。这样,即使当前终端关闭,程序也会继续在screen窗口中运行。

    首先,需要安装screen:
    “`
    sudo apt-get install screen
    “`

    接下来,可以使用以下命令创建一个新的screen窗口:
    “`
    screen -S myscreen
    “`

    接着,在screen窗口中运行程序:
    “`
    ./myprogram
    “`

    要在后台运行程序,首先按下 Ctrl + A,然后按下 D。这样程序就会在后台运行,而你可以返回到原始终端。

    要重新连接到screen窗口,输入:
    “`
    screen -r myscreen
    “`

    参考资料:
    1. https://linuxize.com/post/how-to-run-linux-commands-in-background/
    2. https://www.tecmint.com/screen-command-examples-to-manage-linux-terminals/

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

400-800-1024

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

分享本页
返回顶部