Linux进程查看的who命令

Linux进程查看的who命令,第1张

命令主要用于查看当前在线上的用户情况。这个命令非常有用。如果用户想和其他用户建立即时通讯,比如使用talk命令,那么首先要确定的就是该用户确实在线上,不然talk进程就无法建立起来。又如,系统管理员希望监视每个登录的用户此时此刻的所作所为,也要使用who命令。

who命令的常用语法格式如下:

who[imqsuwHT] [--count] [--idle] [--heading] [--help] [--message] [--mesg] [--version] [--writable] [file] [am i]

所有的选项都是可选的,也就是说可以单独使用who命令。

不使用任何选项时,who命令将显示以下三项内容:

login name:登录用户名;

terminal line:使用终端设备;

login time:登录到系统的时间

如果给出的是两个非选项参数,那么who命令将只显示运行who程序的用户名、登录终端和登录时间。通常这两个参数是“am i”,即该命令格式为:“whoam i”。

下面对who命令的常用参数进行说明。

-m 和“whoam i”的作用一样,显示运行该程序的用户名。

-q,--count 只显示用户的登录帐号和登录用户的数量,该选项优先级高于其他任何选项。

-s 忽略。主要是用于和其他版本的who命令兼容。

-i,-u,--idle 在登录时间后面显示该用户最后一次对系统进行 *** 作至今的时间,也就是常说的“发呆”时间。

-H,--heading 显示一行列标题。常用的标题如表4-2所示。

表4-2who命令输出常用标题

标 题

说 明

USER

用户登录帐号

LINE

用户登录使用终端

LOGIN-TIME

用户登录时间

IDLE

用户空闲时间,即未进行 *** 作的时间

PID

用户登录shell的进程ID

FROM

用户网络地址

-w,-T--mesg,--message,--writable 和-s选项一样,在登录帐号后面显示一个字符来表示用户的信息状态:

+:允许写信息;

-:不允许写信息;

?:不能找到终端设备。

--help 在标准输出上显示帮助信息。

--version 在标准输出上显示版本信息。

下面介绍who命令的一些基本用法。

如果需要查看在系统上究竟有哪些用户,可以直接使用who命令。

[例17] 查看登录到系统的用户情况

$who

root tty1 Mar 17 13:49

foxytty2 Mar 17 13:49

root tty3 Mar 17 13:49

bbs ttyp0 Mar 17 13:49 (river.net)

可以看到,现在系统一共有四个用户。第一列是登录用户的帐号;第二列是登录所使用的终端;第三列是登录时间;第四列是用户从什么地方登录的网络地址,这里是域名。

一般来说,这样就可以了解登录用户的大致情况了。但有时上面的显示不是那么直观,因为没有标题说明,不容易看懂,这时就需要使用-H选项了。

[例18] 查看登录用户的详细情况,键入:

$who-uH

显示如下:

USER LINE LOGIN-TIME IDLE FROM

root tty1 Mar 17 13:49 .

foxytty2 Mar 17 13:49 00:01

root tty3 Mar 17 13:49 00:01

bbs ttyp0 Mar 17 13:49 00:01 (river.net)

这样一目了然。其中-u选项指定显示用户空闲时间,所以可以看到多了一项IDLE。第一个root用户的IDLE项是一个“.”,这就说明该用户在前1秒仍然是活动的,而其他用户后面都有一个时间,称为空闲时间。

最后来看看使用“whoam i”格式命令的结果:

233.river.net!root tty1 Mar 17 13:49

可见只显示出了运行该who命令的用户情况,当然这时候不存在空闲时间。

who命令应用起来非常简单,可以比较准确地掌握用户的情况,所以使用非常广泛。

先说pts/0吧,man里面是这样说的:ptmx

and

pts

-

pseudo-terminal

master

and

slave,pts是所谓的伪终端或虚拟终端,具体表现就是你打开一个终端,这个终端就叫pts/0,如果你再打开一个终端,这个新的终端就叫pts

/1。比如用who命令查询当前登录的用户,可以看到每个用户的TTY设备(简单来说就是用户输入命令还有显示信息的设备,比如终端),下面是我机器上的显示:

calabash

tty7

2009-12-09

20:04

(:0)

calabash

pts/0

2009-12-09

20:20

(:0.0)

calabash

pts/1

2009-12-09

20:27

(:0.0)

有一个tty7是表示图形界面,我当前登录的是GNOME,当然就是图形界面了。还有tty1-tty6表示文字界面,可以用Ctrl+Alt+F1-F6切换,+F7就是切换回图形界面。下面两行说明我当前打开了两个终端窗口,所以就有pts/0和pts/1

再说一下SSH吧,要把本机当做一个远程SSH服务器用,要先装个openssh-server,装完之后会自动启动sshd服务监听ssh连接,Ubuntu应该是预装了openssh-client的,所以启动sshd后,可以自己连接自己,最简单的命令:ssh

user@localhost

至于Windows下面可以用putty用作ssh连接客户端。然后突然想起很久以前小龚推荐我注册的一个unix-

center的账号可以登录上面的主机,就是SSH连接的。今天在公司就一直挂在unix-

center的Ubuntu上面,发现上面登录的用户还真不少:

USER

TTY

FROM

LOGIN@

IDLE

JCPU

PCPU

WHAT

k418675

pts/2

202.108.140.161

08:32

3:42

0.08s

0.06s

sshd:

k418675

[

wateran_

pts/3

222.92.112.66

08:41

8:06

0.06s

0.06s

-bash

xiaoshe

pts/4

129.192.196.5

14:17

11:17m

0.08s

0.08s

-bash

lfly

pts/5

211.144.118.166

09:33

0.00s

0.24s

0.06s

sshd:

lfly

[pri

steed.de

pts/6

119.145.41.2

11:58

4:49

0.06s

0.06s

-bash

topojuly

pts/7

218.30.165.69

15:46

10:55m

0.10s

0.10s

-bash

nwpumabi

pts/8

222.92.112.66

15:12

1:35

0.08s

0.08s

-bash

ilylm

pts/9

113.96.216.247

16:26

1:15m

0.08s

0.08s

-bash

niugao

pts/10

:1.0

09:10

7:36

0.06s

0.06s

-bash

niugao

pts/11

:2.0

09:11

7:36

0.08s

0.08s

-bash

cu911

pts/12

221.215.10.154

16:38

0.00s

0.10s

0.02s

vi

./newhead.sh

wendao4

pts/13

113.9.75.218

16:47

3.00s

0.08s

0.08s

-bash

clyet

pts/15

218.247.11.196

14:12

2:07

0.08s

0.02s

sshd:

clyet

[pr

bigarmy

pts/17

124.207.17.24

10:46

4:22m

0.10s

0.10s

-bash

tonylu

pts/16

218.18.214.166

14:19

2:13m

0.08s

0.08s

-bash

nwpumabi

pts/19

222.92.112.66

11:08

5:38

0.08s

0.08s

-bash

vector09

pts/23

:8.0

11:18

5:26

0.38s

0.10s

-bash

vector09

pts/24

:9.0

11:18

5:29

0.08s

0.08s

-bash

vector09

pts/21

:8.0

11:23

5:24

0.08s

0.08s

bash

fishruby

pts/26

118.229.195.133

15:04

1:03

0.08s

0.08s

-bash

jy016492

pts/28

218.17.152.141

15:17

7:56m

0.08s

0.00s

sshd:

jy0164921

xingzj01

pts/29

222.92.112.66

12:46

4:00

0.08s

0.08s

-bash

ls87

pts/30

192.168.1.18

13:39

4:43m

0.20s

0.04s

vim

可以看到有很多pts,就是代表每个用户用来输入输出的终端了

1、使用w命令查看登录用户正在使用的进程信息

Linux w命令用于显示目前登入系统的用户信息。

执行这项指令可得知目前登入系统的用户有哪些人,以及他们正在执行的程序。

单独执行w指令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。

语法:

w [-fhlsuV][用户名称]

参数:

-f 开启或关闭显示用户从何处登入系统。

-h 不显示各栏位的标题信息列。

-l 使用详细格式列表,此为预设值。

-s 使用简洁格式列表,不显示用户登入时间等。

-u 忽略执行程序的名称,以及该程序耗费CPU时间的信息。

-V 显示版本信息。

w命令用于显示已经登录系统的用户的名称,以及他们正在做的事。该命令所使用的信息来源于/var/run/utmp文件。

w命令输出的信息包括:用户名称、用户的机器名称或tty号、远程主机地址、用户登录系统的时间、空闲时间、当前进程所用时间、用户当前正在使用的命令。

2、使用who命令查看用户名称及所启动的进程

who命令用于列举出当前已登录系统的用户名称。其输出为:用户名、tty号、时间日期、主机地址。

Linux中who命令用于显示系统中有哪些使用者正在上面,显示的资料包含了使用者ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU使用量、动作等等。

语法:

who[参数]

可得知目前有那些用户登入系统,单独执行who指令会列出登入帐号,使用的终端机,登入时间以及从何处登入或正在使用哪个X显示器。

参数:

-H或--heading 显示各栏位的标题信息列。

-i或-u或-idle

显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成.号,如果该用户已超过24小时没有任何动作,则标示出old字符串。

-m 此参数的效果和指定am i字符串相同。

-q或--count 只显示登入系统的帐号名称和总人数。

-w或-T或--mesg或--message或--writable 显示用户的信息状态栏。

-l 列出任何登录进程。

-T或-w 显示用户的信息状态栏。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/6063767.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-13
下一篇 2023-03-13

发表评论

登录后才能评论

评论列表(0条)

保存