Linux程序进程前台后台切换操作

    xiaoxiao2021-03-25  57

    1、在命令末尾加上 & 符号,就可以让程序在后台运行。例如:command & 

    2、如果程序正在前台运行,可以使用 Ctrl+z 选项把程序暂停,然后用 bg %[number] 命令把这个程序放到后台运行。

    3、查看所有后台运行的程序:      jobs –l 

    4、把后台运行的程序调到前台:  fg %[number]

    5、直接终止后台运行的程序:  kill  -9 %[number]命令。kill命令若没有%,则表示杀死的进程号。kill -9 PID

      Shell支持作用控制,有以下命令:

    [number]不是进程的PID,而是为jobs查看到的进程编号,也就是任务号。例如下面有2个任务号,1和2。

    [python]  view plain  copy jobs   [1]-   Stopped               vi manpath.config   [2]+  Stopped               vi man.test.config  

    jobs 列出当前shell环境中已启动的任务状态,若未指定jobsid,则显示所有活动的任务状态信息;如果报告了一个任务的终止(即任务的状态被标记为Terminated),shell 从当前的shell环境已知的列表中删除任务的进程标识;

    概念:当前任务如果后台的任务号有2个,[1],[2];如果当第一个后台任务顺利执行完毕,第二个后台任务还在执行中时,当前任务便会自动变成后台任务号码“[2]”的后台任务。所以可以得出一点,即当前任务是会变动的。当用户输入 “fg”、“bg”和“stop”等命令时,如果不加任何引号,则所变动的均是当前任务。

    jobs命令执行的结果,+表示是一个当前的作业,-表是是一个当前作业之后的一个作业,

    jobs -l选项可显示所有任务的PID,

    jobs的状态可以是running, stopped, Terminated,但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识;也就是说,jobs命令显示的是当前shell环境中所起的后台正在运行或者被挂起的任务信息;

    转载请注明原文地址: https://ju.6miu.com/read-40190.html

    最新回复(0)