第4章 更多的bash shell命令

Monitoring Programs

Peeking at the processes

  When a program runs on the system, it’s referred to as a process. To examine these processes, you need to become familiar with the ps command, the Swiss Army knife of utilities. It can produce lots of information about all the programs running on your system.

The basic ps command doesn’t really provide all that much information:

$ ps
PID TTY TIME CMD
3081 pts/0 00:00:00 bash
3209 pts/0 00:00:00 ps
$

  Not too exciting. By default, the ps command shows only the processes that belong to the current user and that are running on the current terminal. In this case, we had only our bash shell running (remember, the shell is just another program running on the system) and, of course, the ps command itself. The basic output shows the process ID (PID) of the programs, the terminal (TTY) that they are running from, and the CPU time the process has used.

The GNU ps command that’s used in Linux systems supports three different types of command
line parameters:
Unix-style parameters, which are preceded by a dash
BSD-style parameters, which are not preceded by a dash
GNU long parameters, which are preceded by a double dash

Unix-style parameters

That’s a lot of parameters, and there are still more! The key to using the ps command is not to memorize all the available parameters — only those you find most useful.

-ef parameter

$ ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 11:29 ? 00:00:01 init [5]
root 2 0 0 11:29 ? 00:00:00 [kthreadd]
root 3 2 0 11:29 ? 00:00:00 [migration/0]
root 4 2 0 11:29 ? 00:00:00 [ksoftirqd/0]
root 5 2 0 11:29 ? 00:00:00 [watchdog/0]
root 6 2 0 11:29 ? 00:00:00 [events/0]
root 7 2 0 11:29 ? 00:00:00 [khelper]
root 47 2 0 11:29 ? 00:00:00 [kblockd/0]
root 48 2 0 11:29 ? 00:00:00 [kacpid]
68 2349 1 0 11:30 ? 00:00:00 hald
root 3078 1981 0 12:00 ? 00:00:00 sshd: rich [priv]
rich 3080 3078 0 12:00 ? 00:00:00 sshd: [email protected]/0
rich 3081 3080 0 12:00 pts/0 00:00:00 -bash
rich 4445 3081 3 13:48 pts/0 00:00:00 ps -ef
$

UID:   The user responsible for launching the process
PID:   The process ID of the process
■ PPID:   The PID of the parent process (if a process is started by another process)
■ C:     Processor utilization over the lifetime of the process
■ STIME:  The system time when the process started
■ TTY:      The terminal device from which the process was launched
■ TIME:    The cumulative CPU time required to run the process
■ CMD:     The name of the program that was started

-l parameter

$ ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 500 3081 3080 0 80 0 - 1173 wait pts/0 00:00:00 bash
0 R 500 4463 3081 1 80 0 - 1116 - pts/0 00:00:00 ps
$

■ F: System flags assigned to the process by the kernel
■ S: The state of the process (O = running on processor; S = sleeping; R = runnable, waiting to run; Z = zombie, process terminated but parent not available;T = process stopped)
■ PRI: The priority of the process (higher numbers mean lower priority)
■ NI: The nice value(谦让度), which is used for determining priorities
■ ADDR: The memory address of the process
■ SZ: Approximate amount of swap space required if the process was swapped out
■ WCHAN: Address of the kernel function where the process is sleeping

时间: 2024-10-18 19:39:49

第4章 更多的bash shell命令的相关文章

第3章 基本的bash shell命令

启动shell GNU bash shell提供对Linux系统交互式访问.他以常规程序运行,通常在用户登录终端时启动.登录时具体启动那种shell依据用户配置文件/etc/passwd . /etc/passwd 包含所有系统用户账户列表以及每个用户的基本信息.eg:其中一个条目 christine:x:501:501:Christine Bresnahan:/home/christine:/bin/bash 说明: 每个条目有7个字段,字段之间用冒号“:”分隔 用户名 用户密码(如果密码存储

Linux 学习笔记 更多的bash shell命令

一  监测程序 1.ps 输出运行在系统上的所有程序的许多信息 运行ps命令,也会开启一个进程 默认情况下,ps命令只会显示运行在当前控制台下的属于当前用户的进程. Unix风格的参数(单破折号) -e  显示所有进程 -f   显示完整格式的输出 -H  用层级格式来显示进程(树状,用来显示父进程) PPID: 父进程的进程号 TTY: 进程启动时的终端设备 C:进程生命周期中的CPU利用率 S:进程的状态(0代表正在运行:S 休眠: R 可运行:Z 僵化,即进程已结束,父进程无响应或已不存在

第3章 基本的bash shell命令(2)

创建文件 你总会时不时遇到创建空文件的情况.有时应用程序希望在他们写入数据之前,某个日志文件就已经存在.这时,你可用touch命令来轻松创建空文件. touch创建空文件,并将你的用户名作为文件的owner.文件大小为0,是因为你建的是空文件 $ touch test_one $ ls -l test_one -rw-rw-r-- 1 christine christine 0 May 21 14:17 test_one $ touch修改文件访问时间和修改时间为当前时间,该操作不修改文件内容

《Linux命令行与shell脚本编程大全》第十三章 更多的结构化命令

本章讨论bash shell的循环命令for.while和until 13.1 for命令 重复执行一系列命令在编程中很常见. bash shell提供了for命令,允许你创建一个遍历一系列值的循环.每次迭代都使用其中一个值来执行已定义好的一组命令.下面是基本格式 for var in list do command done 在list参数中需要提供迭代中要用到的一系列值.会依次迭代下去.每次迭代中,var会包含列表中要用到的一系列值. do 和 done直接输入的命令可以是一条或多条标准的b

bash shell命令与监测的那点事(一)

bash shell命令与监测的那点事之ps 学习LInux,不得不谈谈bash shell命令,介绍Linux命令行与Shell脚本的书有很多很多,bash shell命令也有很多,此次我们只谈谈有关监测的事情. 探查进程 当程序运行在系统上时,我们称之为进程.想监测这些进程,需要熟悉ps命令的用法,ps命令好比工具的瑞士军刀,它能输出运行在系统上的所有程序的许多信息. 但是很蛋疼的是,随着它的稳健而来的是复杂性-数不清的参数,这或许让ps命令成为了最难掌握的命令.大多数系统管理员在掌握了能提

基本bash shell命令

以下列举一些常用的bash shell命令,在使用时方便查找. 访问Linux系统上的手册:man 命令.例:man ps      手册是由分页程序来显示的,可以通过点击 空格,回车,向上和向下箭头进行翻页查看. 浏览文件系统:附一张常见Linux文件系统目录图 cd 命令:cd destination,cd命令可接受单个参数destination,用于切换到指定目录. destination参数可以用两种方式表示:1.绝对路径,2.相对路径 绝对路径:绝对路径总是以正斜线(/)作为起始,指明

bash shell命令与监测的那点事(三)

bash shell命令与监测的那点事之df与du 前两篇介绍了bash shell的进程监控指令,但是有时候你需要知道在某个设备上还有多少磁盘空间.首先介绍df命令: df命令 df命令就是用来轻松查看所有已挂载磁盘的使用情况的: 1 [[email protected] ~]# df 2 Filesystem 1K-blocks Used Available Use% Mounted on 3 /dev/sda2 39219648 10728028 26499380 29% / 4 tmpf

bash shell命令与监测的那点事(二)

bash shell命令与监测的那点事之top 上次我们说到了ps命令,ps命令虽然在收集运行在系统上的进程信息很有用,但是也有不足之处,ps命令只能显示某个特定时间点的信息,如果你想观察频繁换进换出内存的进程的趋势,用ps的命令就不方便了. 而top命令刚好适用于这种场景.top命令跟ps命令相似,能够显示进程的信息,但它是实时显示的.下图是top命令输出截图: 1 top - 16:56:13 up 120 days, 23:37, 3 users, load average: 0.00,

基本的bash shell命令小结

以下是读<Linux命令行与shell脚本编程大全>第三章后,觉得有用的内容. 1./etc/passwd文件 该文件包含了所有系统用户账户列表及每个用户的基本配置信息,如下图所示: 每个条目有七个字段,字段之间使用冒号分隔,这些字段包括: •用户名 •用户密码(若密码在其他位置,则该位是一个占位符) •用户的系统UID •用户的系统GID •用户的全名 •用户的默认主目录 •用户的默认shell程序 2.shell提示符 默认bash shell提示符为$,提示符可更改,如下所示: [[em