linux后台进程运行和查看

2021-01-15 16:30:42

一、不挂断的后台运行命令

1.nohup

不挂断的运行命令

语法:nohup Command [ Arg … ] [ & ]

2.&

加在一个命令后,可以把这个命令放在后台运行

例如:

1
nohup /usr/local/node/bin/node /www/im/chat.js >> /usr/local/node/output.log 2>&1 &

二、查看后台运行命令

1.jobs

查看当前终端后台运行命令 ,终端关闭后无法查看。

jobs -l选项可显示当前终端所有任务的PID,jobs的状态可以是running,stopped,Terminated。

+ 号表示当前任务,- 号表示后一个任务。

2.ps

查看当前的进程。

输出列的含义:

  • F 代表这个程序的旗标 (flag), 4 代表使用者为 super user

  • S 代表这个程序的状态 (STAT)

  • UID 程序被该 UID 所拥有

  • PID 进程的ID

  • PPID 则是其上级父程序的ID

  • C CPU 使用的资源百分比

  • PRI 这个是 Priority (优先执行序) 的缩写

  • NI 这个是 Nice 值

  • ADDR 这个是 kernel function,指出该程序在内存的那个部分。如果是个 running的程序,一般就是 “-“

  • SZ 使用掉的内存大小

  • WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作

  • TTY 登入者的终端机位置

  • TIME 使用掉的 CPU 时间。

  • CMD 所下达的指令为何

ps -A: 查看所有进程信息

1
2
3
4
5
6
[root@localhost test6]# ps -A
PID TTY          TIME CMD
1 ?        00:00:00 init
2 ?        00:00:01 migration/0
3 ?        00:00:00 ksoftirqd/0
4 ?        00:00:01 migration/1

ps -u root:查看指定用户信息  

ps -ef:显示所有进程信息,连同命令行

1
2
3
4
5
[root@localhost test6]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Nov02 ?        00:00:00 init [3]
root         2     1  0 Nov02 ?        00:00:01 [migration/0]
root         3     1  0 Nov02 ?        00:00:00 [ksoftirqd/0]

ps aux:列出所有目前正在内存中的程序。

1
2
3
4
[root@localhost test6]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  10368   676 ?        Ss   Nov02   0:00 init [3]
root         2  0.0  0.0      0     0 ?        S<   Nov02   0:01 [migration/0]