linux把进程放到后台命令

不及物动词 其他 24

回复

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

    Linux提供了将进程放到后台运行的命令——“&”符号。

    通过使用“&”符号,可以在命令的末尾将进程放到后台运行,而不阻塞当前终端:

    “`
    command &
    “`

    其中,“command”是要执行的命令,而“&”符号表示将该命令放到后台运行。

    当一个进程被放到后台后,它将继续执行,但不会把终端锁定。可以继续在终端中输入其他命令。同时,后台运行的进程将不再输出到终端,而是将输出重定向到标准输出文件。

    如果后台运行的进程需要输入,可以通过重定向输入文件的方式提供输入:

    “`
    command < input_file &```其中,“input_file”是包含输入内容的文件。除了使用“&”符号将进程放到后台外,还可以使用以下命令将正在前台运行的进程转移到后台运行:- 使用Ctrl+Z暂停进程,然后使用”bg”命令将进程转移到后台运行: ``` Ctrl+Z bg ```- 使用“jobs”命令查看当前正在运行或暂停的作业,然后使用“disown”命令将作业转移到后台运行: ``` jobs disown %job_number ```其中,“job_number”是作业的编号。需要注意的是,将进程放到后台运行后,如果关闭当前终端,进程仍会终止。如果需要在关闭终端后进程仍然运行,可以使用以下命令:```nohup command &```其中,“nohup”命令可以防止进程受到终端关闭的影响,即使关闭终端,进程也会继续运行。同时,“nohup”命令还会将输出重定向到当前目录下的“nohup.out”文件。

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

    在Linux中,将进程放到后台运行有几种不同的方法。下面是其中一些常用的方法:

    1. 使用&符号:在命令末尾添加&符号,表示将命令放到后台运行。例如,要将一个名为mycommand的脚本放到后台运行,可以执行以下命令:
    “`
    $ ./mycommand &
    “`

    2. 使用nohup命令:nohup命令允许在后台运行命令,并且不受终端关闭的影响。例如,要在后台运行一个名为mycommand的脚本,可以执行以下命令:
    “`
    $ nohup ./mycommand &
    “`

    3. 使用ctrl+z和bg命令:首先,可以使用ctrl+z组合键将当前正在运行的命令暂停。然后,使用bg命令将该命令放到后台继续运行。例如,要将一个名为mycommand的脚本放到后台运行,可以执行以下命令:
    “`
    $ ./mycommand
    (Ctrl+z)
    $ bg
    “`

    4. 使用disown命令:disown命令用于将已经在后台运行的进程从当前的终端会话中分离。这样,即使关闭了终端,进程仍然会继续运行。例如,要将进程PID为12345的进程放到后台并分离,可以执行以下命令:
    “`
    $ disown 12345
    “`

    5. 使用screen命令:screen命令是一个非常有用的工具,允许用户在一个终端会话中创建多个虚拟终端。可以在一个虚拟终端中运行命令,并在需要时将其放到后台。要在一个新的screen会话中运行一个命令,可以执行以下命令:
    “`
    $ screen
    $ ./mycommand
    (按下Ctrl+a,然后按下d键,将命令放到后台)
    “`

    无论使用哪种方法,通过将进程放到后台,可以使其在后台继续运行,而不会占用当前终端的使用。这在执行需要较长时间完成的任务时特别有用,或者在远程连接时,可以保持与远程主机的终端会话不中断。

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

    在Linux中,有多种方法可以将进程放到后台运行。下面介绍两种常用的方法:使用&符号和使用nohup命令。

    方法一:使用&符号
    1. 运行要放到后台的命令,例如:
    “`
    $ command &
    “`
    这会将命令放到后台运行并立即返回一个进程ID。

    2. 如果需要查询后台运行的进程状态,可以使用jobs命令:
    “`
    $ jobs
    “`
    这会显示当前后台运行的进程列表和对应的作业号。

    3. 如果需要将一个后台进程切换到前台运行,可以使用fg命令加上作业号:
    “`
    $ fg %作业号
    “`

    4. 如果需要将一个后台进程切换到后台运行,可以使用bg命令加上作业号:
    “`
    $ bg %作业号
    “`

    方法二:使用nohup命令
    1. 运行要放到后台的命令,并使用nohup命令将其包裹,例如:
    “`
    $ nohup command &
    “`

    2. 这样会将命令放到后台运行,并将输出重定向到nohup.out文件中,同时阻止SIGHUP信号的传递。这样即使用户退出终端,进程仍会继续在后台运行。

    3. 如果需要停止一个后台运行的进程,可以使用以下命令:
    “`
    $ ps -ef | grep command
    “`
    找到对应进程的PID,然后使用kill命令停止进程:
    “`
    $ kill PID
    “`

    无论使用哪种方法,将进程放到后台运行后,可以在终端继续输入其他命令,而不会被进程占用。这在执行需要较长时间的任务或者希望在终端关闭后继续运行的任务时非常有用。

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

400-800-1024

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

分享本页
返回顶部