Linux命令详解之ps命令
Linux命令详解之ps命令
(2008-11-26 10:20:15)
转载
标
分类:Linux
签:
电脑
oracle
linux
命令
ps
详解
it
命令详解之ps命令
以下是ps的最简单形式:
$ ps
PID TTY TIME CMD
3884 pts/1 00:00:00 bash
3955 pts/2 00:00:00 more
3956 pts/5 00:00:05 sqlplus
· PID是进程的标识号。
· TT Y是进程所属的终端控制台。
· TIME列是进程所使用的总的CPU时间。
· CMD列列出正在执行的命令行。
使用带有-ef选项的ps,返回系统中所有用户的所有进程的完整列表。
一般将此ps 命令的结果传送到grep中,则该结果更易于查看。
例如:
$ ps -ef | grep oracle
UID PID PPID C STIME TTY TIME CMD
oracle 1633 1 0 13:58 ?00:00:00 ora_pmon_ora1
oracle 1635 1 0 13:58 ?00:00:00 ora_dbw0_ora1
oracle 1637 1 0 13:58 ?00:00:01 ora_lgwr_ora1
oracle 1639 1 0 13:58 ?00:00:02 ora_ckpt_ora1
oracle 1641 1 0 13:58 ?00:00:02 ora_smon_ora1
oracle 1643 1 0 13:58 ?00:00:00 ora_reco_ora1
oracle 1645 1 0 13:58 ?00:00:00 ora_cjq0_ora1
oracle 1647 1 0 13:58 ?00:01:18 ora_qmn0_ora1
oracle 1649 1 0 13:58 ?00:00:00 ora_s000_ora1
oracle 1651 1 0 13:58 ?00:00:00 ora_d000_ora1
-e :在命令执行后显示环境
-f :完整显示输出
· 标为C的列是由CPU用于计算执行优先级的因子。
· STIME是指进程的启动时间。
· 问号表示这些进程不属于任何TTY,因为它们是由系统启动的。
主要参数说明:
1)进程用户ID(UID),虽然uid通常是指数字型的标识,但在第一列下指定的是用户名,标记为UID
2)进程ID(PID)
3)父进程ID(PPID)PPID是父进程的标识号。
对于Oracle进程,这里的标识号为1 —它是init进程(所有进程的父进程)的id,因为在本系统中安装的Oracle是作为登录进程的一部分而启动的
4) CPU调度情况(C)即是是由CPU用于计算执行优先级的因子。
5)进程启动的时间(STIME)
6)进程共占用CPU的时间(TIME)
7)启动进程的命令(CMD)
8)问号表示这些进程不属于任何TTY,因为它们是由系统启动的。
使用PS命令分析系统性能的方法主要有:
1)首先,根据用户ID寻找由同一用户执行的许多相似任务,这些任务很可能是因为用户运行的某个脚本程序在后台启动多个进程而造成的。
2)接下来,检查TIME域中各进程累计占用CPU的时间,如果有某个进程累计占用了大量的CPU时间,通常说明该进程可能陷入了无限循环,或该京城的某写逻辑出了错
3)找到那些已陷入死锁的进程ID后,就可以使用kill命令强制终止该进程了。
Linux:PS命令详解与使用
Linux:PS命令详解与使⽤要对进程进⾏监测和控制,⾸先必须要了解当前进程的情况,也就是需要查看当前进程,ps命令就是最基本进程查看命令。
使⽤该命令可以确定有哪些进程正在运⾏和运⾏的状态、进程是否结束、进程有没有僵⼫、哪些进程占⽤了过多的资源等等.总之⼤部分信息都是可以通过执⾏该命令得到。
ps是显⽰瞬间进程的状态,并不动态连续;如果想对进程进⾏实时监控应该⽤top命令。
参数:-A :所有的进程均显⽰出来,与 -e 具有同样的效⽤;-a :显⽰现⾏终端机下的所有进程,包括其他⽤户的进程;-u :以⽤户为主的进程状态;x :通常与 a 这个参数⼀起使⽤,可列出较完整信息。
输出格式规划:l :较长、较详细的将该PID 的的信息列出;j :⼯作的格式 (jobs format)-f :做⼀个更为完整的输出。
特别说明: 由于 ps 能够⽀持的系统类型相当的多,所以他的参数多的离谱,⽽且有没有加上 - 差很多!1.将⽬前属于您⾃⼰这次登⼊的 PID 与相关信息列⽰出来各相关信息的意义为:F 代表这个程序的旗标 (flag), 4 代表使⽤者为 superuser;S 代表这个程序的状态 (STAT);UID 代表执⾏者⾝份PID 进程的ID号!PPID ⽗进程的ID;C CPU使⽤的资源百分⽐PRI指进程的执⾏优先权(Priority的简写),其值越⼩越早被执⾏;NI 这个进程的nice值,其表⽰进程可被执⾏的优先级的修正数值。
ADDR 这个是内核函数,指出该程序在内存的那个部分。
如果是个执⾏的程序,⼀般就是『 - 』SZ 使⽤掉的内存⼤⼩;WCHAN ⽬前这个程序是否正在运作当中,若为 - 表⽰正在运作;TTY 登⼊者的终端机位置;TIME 使⽤掉的 CPU 时间。
CMD 所下达的指令名称2.列出⽬前所有的正在内存当中的程序USER:该进程属于那个使⽤者账号。
PID :该进程的进程ID号。
%CPU:该进程使⽤掉的 CPU 资源百分⽐;%MEM:该进程所占⽤的物理内存百分⽐;VSZ :该进程使⽤掉的虚拟内存量 (Kbytes)RSS :该进程占⽤的固定的内存量 (Kbytes)TTY :该进程是在那个终端机上⾯运作,若与终端机⽆关,则显⽰ ?。
linux的ps命令
linux的ps命令ps命令是linux系统下常用的命令之一,它主要用于显示当前进程的状态。
下面由店铺为大家整理了linux的ps命令的相关知识,希望大家喜欢!linux的ps命令详解Linux ps命令用于显示当前进程 (process) 的状态。
语法ps [options] [--help]参数:ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义-A 列出所有的行程-w 显示加宽可以显示较多的资讯-au 显示较详细的资讯-aux 显示所有包含其他使用者的行程au(x) 输出格式 :USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDUSER: 行程拥有者PID: pid%CPU: 占用的 CPU 使用率%MEM: 占用的记忆体使用率VSZ: 占用的虚拟记忆体大小RSS: 占用的记忆体大小TTY: 终端的次要装置号码 (minor device number of tty)STAT: 该行程的状态:D: 不可中断的静止 (通悸□□缜b进行 I/O 动作)R: 正在执行中S: 静止状态T: 暂停执行Z: 不存在但暂时无法消除W: 没有足够的记忆体分页可分配<: 高优先序的行程N: 低优先序的行程L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O) START: 行程开始时间TIME: 执行的时间COMMAND:所执行的指令linux的ps命令实例# ps -A 显示进程信息PID TTY TIME CMD1 ? 00:00:02 init2 ? 00:00:00 kthreadd3 ? 00:00:00 migration/04 ? 00:00:00 ksoftirqd/05 ? 00:00:00 watchdog/06 ? 00:00:00 events/07 ? 00:00:00 cpuset8 ? 00:00:00 khelper9 ? 00:00:00 netns10 ? 00:00:00 async/mgr11 ? 00:00:00 pm12 ? 00:00:00 sync_supers13 ? 00:00:00 bdi-default14 ? 00:00:00 kintegrityd/015 ? 00:00:02 kblockd/016 ? 00:00:00 kacpid17 ? 00:00:00 kacpi_notify18 ? 00:00:00 kacpi_hotplug19 ? 00:00:27 ata/0……省略部分结果30749 pts/0 00:00:15 gedit30886 ? 00:01:10 qtcreator.bin 30894 ? 00:00:00 qtcreator.bin 31160 ? 00:00:00 dhclient31211 ? 00:00:00 aptd31302 ? 00:00:00 sshd31374 pts/2 00:00:00 bash31396 pts/2 00:00:00 ps显示指定用户信息# ps -u root //显示root进程用户信息PID TTY TIME CMD1 ? 00:00:02 init2 ? 00:00:00 kthreadd3 ? 00:00:00 migration/04 ? 00:00:00 ksoftirqd/05 ? 00:00:00 watchdog/06 ? 00:00:00 events/07 ? 00:00:00 cpuset8 ? 00:00:00 khelper9 ? 00:00:00 netns10 ? 00:00:00 async/mgr11 ? 00:00:00 pm12 ? 00:00:00 sync_supers13 ? 00:00:00 bdi-default14 ? 00:00:00 kintegrityd/015 ? 00:00:02 kblockd/016 ? 00:00:00 kacpid……省略部分结果30487 ? 00:00:06 gnome-terminal30488 ? 00:00:00 gnome-pty-helpe30489 pts/0 00:00:00 bash30670 ? 00:00:00 debconf-communi30749 pts/0 00:00:15 gedit30886 ? 00:01:10 qtcreator.bin30894 ? 00:00:00 qtcreator.bin31160 ? 00:00:00 dhclient31211 ? 00:00:00 aptd31302 ? 00:00:00 sshd31374 pts/2 00:00:00 bash31397 pts/2 00:00:00 ps显示所有进程信息,连同命令行# ps -ef //显示所有命令,连带命令行UID PID PPID C STIME TTY TIME CMDroot 1 0 0 10:22 ? 00:00:02 /sbin/initroot 2 0 0 10:22 ? 00:00:00 [kthreadd]root 3 2 0 10:22 ? 00:00:00 [migration/0]root 4 2 0 10:22 ? 00:00:00 [ksoftirqd/0]root 5 2 0 10:22 ? 00:00:00 [watchdog/0]root 6 2 0 10:22 ? /usr/lib/NetworkManager……省略部分结果root 31302 2095 0 17:42 ? 00:00:00 sshd: root@pts/2root 31374 31302 0 17:42 pts/2 00:00:00 -bashroot 31400 1 0 17:46 ? 00:00:00 /usr/bin/python /usr/sbin/aptdroot 31407 31374 0 17:48 pts/2 00:00:00 ps -ef。
linux中的ps命令参数
在Linux中,ps命令用于查看当前进程的状态。
其参数包括:
-A:显示所有进程。
-c:显示CLS和PRI栏位。
-C<指令名称>:指定执行指令的名称,并列出该指令的进程的状况。
-d:显示所有进程,但不包括阶段作业领导者的进程。
-e:此参数的效果和指定"A"参数相同。
列出进程时,显示每个进程所使用的环境变量。
-f:显示UID,PPIP,C与STIME栏位。
用ASCII字符显示树状结构,表达进程间的相互关系。
-g<群组名称>:此参数的效果和指定"-G"参数相同,当亦能使用阶段作业领导者的名称来指定。
-G<群组识别码>:列出属于该群组的进程的状况,也可使用群组名称来指定。
-h:不显示标题列。
-H:显示树状结构,表示进程间的相互关系。
-m或m:显示所有的执行绪。
-n:以数字来表示USER和WCHAN栏位。
-N:显示所有的进程,除了执行ps指令终端机下的进程之外。
-p<进程识别码>:指定进程识别码,并列出该进程的状况。
-p<进程识别码>:此参数的效果和指定"-p"参数相同,只在列表格式方面稍有差异。
-s<阶段作业>:指定阶段作业的进程识别码,并列出隶属该阶段作业的进程的状况。
-s:采用进程信号的格式显示进程状况。
-T:显示现行终端机下的所有进程。
U<用户名称>:列出属于该用户的进程的状况。
Linuxps命令详解
选项功能-A显⽰所有的进程,跟-e 的效果相同-a显⽰现⾏终端机下的所有进程,包括其他⽤户的进程-u显⽰当前⽤户的进程状态-x通常与 a 这个参数⼀起使⽤,可列出较完整信息-l较长、较详细的将该PID 的信息列出-j⼯作的格式(jobs format)-f把进程的所有信息都显⽰出来-e 表⽰显⽰所有继承Linuxps 命令详解⼀、ps 命令介绍 Linux 系统中会运⾏各种各样的进程,如果要对进程进⾏监控,⾸先必须了解当前进程的情况,也就是需要查看当前进程。
ps 命令就是最基本的进程查看命令,使⽤该命令可以看到有哪些进程正在运⾏,并且可以看到进程的运⾏状态、进程是否结束、进程有没有僵死、哪些进程占⽤了过多的资源等等。
总之⼤部分信息都是可以通过执⾏该命令得到。
ps 是显⽰瞬间进程的状态,并不动态连续,如果想对进程进⾏实时监控应该⽤top 命令。
ps 命令的格式为:ps [选项]ps 命令常⽤的选项参数有:由于ps 命令⽀持的系统类型相当的多,所以它的参数多的离谱,⽽且有没有加上 -差很多,所以只需要记住常⽤的⼏个命令即可。
⼆、ps 使⽤实例【例1】较长、较详细的将属于本次登⼊⽤户的进程列出来➜ ~ ps -l F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 0 S 1001 1702969 1702967 0 80 0 - 11484 - pts/1 00:00:01 zsh0 R 1001 1710433 1702969 0 80 0 - 7460 - pts/1 00:00:00 ps 各个表头的含义为:F :代表这个进程的flag ,如果是4,则代表使⽤者为 super userS :代表这个进程的状态statUID :代表执⾏者的userIdPID :进程的idPPID :⽗进程的idC :占⽤CPU 资源的百分⽐PRI :指进程的执⾏优先级(Priority 的简写),其值越⼩越早被执⾏NI :代表进程的nice 值,其表⽰进程可被执⾏的优先级的修正数值ADDR :代表进程的地址,它指出该进程在内存的哪个部分,如果是个正在运⾏的程序,⼀般都是"-"SZ :占⽤的内存⼤⼩WCHAN :判断当前进程是否正在运⾏,若为"-",则代表正在运⾏;若该进程处于休眠状态,该值就是它在内核中的地址TTY :该进程是在那个终端机上⾯运⾏,若与终端机⽆关,则显⽰?,另外,tty1-tty6 是本机上⾯的登⼊者程序,若为 pts/0 等等的,则表⽰为由⽹络连接进主机的程序。
Linux命令--ps命令详解
Linux命令--ps命令详解命令说明: PS是LINUX下最常⽤的也是⾮常强⼤的进程查看命令。
Linux下显⽰系统进程的命令ps,最常⽤的有 ps -ef 和 ps aux。
实例:ps -ef其中各列的内容意思如下UID //⽤户ID、但输出的是⽤户名PID //进程的IDPPID //⽗进程IDC //进程占⽤CPU的百分⽐STIME //进程启动到现在的时间TTY //该进程在那个终端上运⾏,若与终端⽆关,则显⽰? 若为pts/0等,则表⽰由⽹络连接主机进程。
CMD //命令的名称和参数ps aux 是⽤BSD的格式来显⽰、其格式如下同ps -ef 不同的有列有USER //⽤户名%CPU //进程占⽤的CPU百分⽐%MEM //占⽤内存的百分⽐VSZ //该进程使⽤的虚拟內存量(KB)RSS //该进程占⽤的固定內存量(KB)(驻留中页的数量)STAT //进程的状态START //该进程被触发启动时间TIME //该进程实际使⽤CPU运⾏的时间其中STAT状态位常见的状态字符有D //⽆法中断的休眠状态(通常 IO 的进程);R //正在运⾏可中在队列中可过⾏的;S //处于休眠状态;T //停⽌或被追踪;W //进⼊内存交换(从内核2.6开始⽆效);X //死掉的进程(基本很少见);Z //僵⼫进程;< //优先级⾼的进程N //优先级较低的进程L //有些页被锁进内存;s //进程的领导者(在它之下有⼦进程);l //多线程,克隆线程(使⽤ CLONE_THREAD, 类似 NPTL pthreads);+ //位于后台的进程组。
Linux命令高级技巧使用ps命令查看系统进程和资源占用情况
Linux命令高级技巧使用ps命令查看系统进程和资源占用情况在Linux系统中,ps命令是一个非常常用的命令,用于查看系统的进程和资源占用情况。
它可以显示正在运行的进程的详细信息,包括进程的PID(进程ID)、CPU占用率、内存占用率等。
本文将介绍一些ps命令的高级技巧,帮助您更好地使用ps命令查看系统进程和资源占用情况。
1. 使用ps命令查看所有进程要查看系统中所有的进程,可以使用以下命令:```ps -ef```该命令将显示所有正在运行的进程的详细信息,包括进程的PID、父进程的PID、进程的状态、CPU占用率、内存占用率等。
2. 使用ps命令按照进程ID排序有时候,我们需要按照进程ID的顺序查看进程信息。
可以使用以下命令:```ps -ef --sort=pid```该命令将按照进程ID的顺序显示进程信息。
3. 使用ps命令查看指定用户的进程如果您只想查看特定用户的进程信息,可以使用以下命令:```ps -u username```将`username`替换为您要查看的用户名。
该命令将只显示该用户运行的进程信息。
4. 使用ps命令查看特定进程的详细信息要查看特定进程的详细信息,可以使用以下命令:```ps -p pid -o pid,ppid,cmd,%cpu,%mem```将`pid`替换为您要查看的进程的PID。
该命令将显示该进程的PID、父进程的PID、命令行、CPU占用率和内存占用率等信息。
5. 使用ps命令显示进程树有时候,我们希望以树状结构显示进程信息,可以使用以下命令:```ps -ef --forest```该命令将以树状结构显示进程信息,方便我们查看进程之间的关系。
6. 使用ps命令查看进程的线程信息有些进程是多线程的,如果您想查看特定进程的线程信息,可以使用以下命令:```ps -T -p pid```将`pid`替换为您要查看的进程的PID。
该命令将显示该进程的线程信息,包括线程的ID、状态、CPU占用率和内存占用率等。
linux命令ps用法
linux命令ps用法ps命令是Linux下常用的进程查看命令,可以查看当前系统中运行的进程信息。
ps命令的用法非常灵活,可以根据不同的参数组合来查看不同的进程信息。
下面我们一步一步地介绍ps命令的用法。
一、ps命令简介ps是英文Process Status的缩写,它用于显示当前系统中的进程状态。
通过ps 命令,我们可以查看到系统中正在运行的进程,进程的PID(进程ID),进程的运行状态等信息。
二、基本用法1. 命令格式ps的基本格式为:ps [options]options是可选参数,可以根据实际需求选择合适的参数来获取所需的进程信息。
2. 常用参数下面我们介绍一些常用的ps参数:- a:显示所有进程,包括其他用户的进程。
- u:以用户为主的格式显示进程信息,包括进程的用户名、PID、CPU占用率、内存占用率等。
- x:显示没有控制终端的进程。
- f:以树形结构显示进程信息,显示进程的父子关系。
- e:显示所有进程,包括无终端的进程。
- x:显示所有进程,不包括没有控制终端的进程。
3. 示例通过下面的示例,我们可以更好地理解ps命令的使用方法:ps -ef该命令将显示所有进程的完整信息,包括PID、TTY(终端设备)、STAT(进程状态)、TIME(CPU占用时间)、COMMAND(进程的命令)等。
ps -aux该命令将显示所有进程的详细信息,包括用户、PID、CPU占用率、内存占用率、进程开始运行的时间等。
ps -ef grep sshd该命令将显示所有包含"sshd"的进程信息。
三、进阶用法除了基本用法,ps命令还有一些进阶的用法,可以更加灵活地获取进程信息。
1. 显示指定用户的进程可以使用"-u"参数来显示指定用户的进程。
例如,要查看用户"root"的进程,可以使用以下命令:ps -u root2. 按照进程、CPU或者内存占用率排序可以使用"sort"参数来按照进程、CPU或者内存占用率排序。
linux的ps指令用法例子
linux的ps指令用法例子`ps` 是一个用于显示当前进程状态的命令。
它在Linux 和类Unix系统上广泛使用。
以下是一些常见的`ps` 命令用法和例子:1. 显示当前用户的所有进程信息:```bashps```2. 显示所有进程信息(与当前用户关联):```bashps -e```3. 以全格式显示当前用户的所有进程信息:```bashps -f```4. 以详细格式显示所有进程信息:```bashps aux```5. 显示特定进程的信息(使用进程ID):```bashps -p <PID>```6. 按照CPU 使用情况排序显示进程信息:```bashps aux --sort=-%cpu```7. 显示进程树:```bashps auxf```8. 显示进程及其子进程的树形结构:```bashps aux --forest```9. 仅显示进程ID和进程名:```bashps -eo pid,cmd```10. 通过进程名过滤显示进程信息:```bashps aux | grep <process_name>```11. 显示指定用户的进程信息:```bashps -u <username>```12. 显示进程的内存使用情况:```bashps aux --sort=-%mem```这只是`ps` 命令的一些基本用法和例子。
`ps` 命令有很多选项,你可以根据具体需求使用不同的选项来获取所需的进程信息。
要查看所有可用选项和更多详细信息,可以查看`ps` 命令的手册页,使用以下命令:```bashman ps```。
linux ps命令用法
linux ps命令用法【原创版】目录1.Linux ps 命令简介2.ps 命令的基本语法3.ps 命令的选项与参数4.ps 命令的不同用法示例5.ps 命令的常见问题解答正文【1.Linux ps 命令简介】Linux ps 命令(process status,进程状态)是一种用于查看和控制系统中进程的命令行工具。
它提供了一系列的选项和参数,方便用户对进程进行监控和管理。
通过 ps 命令,用户可以查看当前系统中的进程列表、进程状态、进程所属用户等信息,还可以对进程进行终止、切换等操作。
【2.ps 命令的基本语法】ps 命令的基本语法如下:```ps [选项] 命令```常见的选项有:- `-a`:显示所有进程,包括特权进程。
- `-u`:显示用户和进程 ID。
- `-x`:显示进程树状结构。
- `-f`:显示完整的进程信息。
- `-c`:显示进程的 CPU 使用情况。
- `-p`:显示进程的 PID(进程 ID)。
【3.ps 命令的选项与参数】以下是一些常用的 ps 命令选项与参数:- `-a`:显示所有进程,包括特权进程。
- `-u`:显示用户和进程 ID。
- `-x`:显示进程树状结构。
- `-f`:显示完整的进程信息。
- `-c`:显示进程的 CPU 使用情况。
- `-p`:显示进程的 PID(进程 ID)。
【4.ps 命令的不同用法示例】以下是一些常见的 ps 命令用法示例:- 查看当前用户的进程:`ps -u`- 查看当前系统中所有进程:`ps -a`- 查看进程的详细信息:`ps -f`- 查看进程的 CPU 使用情况:`ps -c`- 查看进程树状结构:`ps -x`【5.ps 命令的常见问题解答】- 问:="如何查看某个进程的详细信息?"答:使用`ps -f`命令可以查看某个进程的详细信息。
例如:`ps -f1234`,其中 1234 为进程 ID。
- 问="如何终止一个进程?"答:使用`kill`命令可以终止一个进程。
linux ps命令详解
linux ps命令详解ps命令常用用法(方便查看系统进程)1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。
2)ps -A 显示所有进程。
3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
4)ps -e 此参数的效果和指定"A"参数相同。
5)ps e 列出程序时,显示每个程序所使用的环境变量。
6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
7)ps -H 显示树状结构,表示程序间的相互关系。
8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
9)ps s 采用程序信号的格式显示程序状况。
10)ps S 列出程序时,包括已中断的子程序资料。
11)ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
12)ps u 以用户为主的格式来显示程序状况。
13)ps x 显示所有程序,不以终端机来区分。
最常用的方法是ps -aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。
常用参数:-A 显示所有进程(等价于-e)(utility)-a 显示一个终端的所有进程,除了会话引线-N 忽略选择。
-d 显示所有进程,但省略所有的会话引线(utility)-x 显示没有控制终端的进程,同时显示各个命令的具体路径。
dx不可合用。
(utility)-p pid 进程使用cpu的时间-u uid or username 选择有效的用户id或者是用户名-g gid or groupname 显示组的所有进程。
U username 显示该用户下的所有进程,且显示各个命令的详细路径。
如:ps U zhang;(utility)-f 全部列出,通常和其他选项联用。
如:ps -fa or ps -fx and so on.-l 长格式(有F,wchan,C 等字段)-j 作业格式-o 用户自定义格式。
