1、Linux根据进程号查询相应的进程信息,可以使用ps命令的-q参数来进行查询。
2、举汪液例来说,已知进程号为12840,查询其相应的进程。
ps -q 12840说明:-q参数是ps的快速模式,使用该参数可以从pidlist中快速的读取必要的进程信息。后面接困咐物进程号简山,即pid号。
也可以使用如下命令只打印命令,也就是只显示进程名称:
ps -q 12840 -o comm=
说明:-o是指明输出的格式,comm=即输出格式只输出comand,即只显示进程的名称。
正常运行中衡扰的进程树关系如下(为了简化,只显示一部分进程):$ ps x
PID TTY STAT TIME COMMAND
17279 pts/8Ss 0:00 -bash
18618 pts/8R+ 0:00 ps xf
18283 pts/8S 0:00 A
18284 pts/8S 0:00 A
18321 pts/8S 0:00 a
18322 pts/8S 0:00 a
出问题时进程的状态为:
$ ps x
PID TTY STAT TIME COMMAND
17279 pts/8Ss 0:00 -bash
18618 pts/8R+ 0:00 ps xf
18283 pts/8Z 0:00 A<defunct>
18284 pts/8S 0:00 A
18321 pts/8S 0:00 a
18322 pts/8S 0:00 a
找到某进程启动路径的方法是:
1.我们可以从ps命令中得到僵死进程的PID,如上例中18283.
2.进入/proc目录下以该PID命名的目录中
3.输入ls -l ,结果中 exe链接对应的咐闷旦就是罩厅可执行文件的全路经
$ ls -l /proc/18283
总计 0
dr-xr-xr-x 2 qhkf qhkf 0 01-06 11:14 attr
-r-------- 1 qhkf qhkf 0 01-06 11:14 auxv
-r--r--r-- 1 qhkf qhkf 0 01-06 10:38 cmdline
-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 cpuset
lrwxrwxrwx 1 qhkf qhkf 0 01-06 11:14 cwd ->/v8t/qhkf/risk_b/kssmdb
-r-------- 1 qhkf qhkf 0 01-06 11:14 environ
lrwxrwxrwx 1 qhkf qhkf 0 01-06 11:14 exe ->/v8t/qhkf/risk_b/kssmdb/A
dr-x------ 2 qhkf qhkf 0 01-06 10:38 fd
-rw-r--r-- 1 qhkf qhkf 0 01-06 11:14 loginuid
-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 maps
-rw------- 1 qhkf qhkf 0 01-06 11:14 mem
-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 mounts
-r-------- 1 qhkf qhkf 0 01-06 11:14 mountstats
-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 numa_maps
-rw-r--r-- 1 qhkf qhkf 0 01-06 11:14 oom_adj
-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 oom_score
lrwxrwxrwx 1 qhkf qhkf 0 01-06 11:14 root ->/
-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 schedstat
-r-------- 1 qhkf qhkf 0 01-06 11:14 smaps
-r--r--r-- 1 qhkf qhkf 0 01-06 10:38 stat
-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 statm
-r--r--r-- 1 qhkf qhkf 0 01-06 10:38 status
dr-xr-xr-x 6 qhkf qhkf 0 01-06 11:14 task
-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 wchan
剩下的就是排查问题了.OVER.
Linux 平台如何检视某个程序的执行绪数?三种方法:1。陵猛握 使用命令,具体用法是 -H 加上这个选项,的每一行就不是显示一个程序,而是一个执行绪。 2。 使用ps命令,具体用法是 ps -xH 这样可以检视所有存在的执行绪,也可以使用grep作进一步的过滤。3。 使用ps命令,具体用法是 ps -mq PID 这样可以看到指定的程序产生的执行绪数目。更进一步,其实一些系统监控工具,在本质上也是读取的系统产生的档案罢了。比如说程序这个事情,现在假设有程序号为 5000 的程序,检视这个程序的所有具体资讯,在哪检视呢?看看这个目录吧,/proc/5000/ 这里面有你所有想要的。其实stat代表着当前的一些资讯。使用ps命令来检视程序的时候,程序状态分别对应的含义如下:D 不可中断睡眠 (通常是在IO *** 作) 收到讯号不唤醒和不可执行, 程序必须等待直到有中断发生 R 正在执行或可执行(在执行伫列排队中) S 可中断睡眠 (休眠中, 受阻, 在等待某个条件的形成或接受到讯号) T 已停止的 程序收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU讯号后停止执行 W 正在换页(2.6.核心之前有效) X 死程序 (未开启) Z 僵尸程序 程序已终止, 但程序描述符存在, 直到父程序呼叫wait4()系统呼叫后释放BSD风格的 <高优先顺序(not nice to other users) N 低优先顺序(nice to other users) L 页面锁定在记忆体(实时和定制的IO) s 一个资讯头 l 多执行绪(使用 CLONE_THREAD,像NPTL的pthreads的那样)+ 在前台程序组
1。 使用命令,具体用法是 -H
加上这个选项,的每一行就不是显示一个程序,而是一个执行绪。
2。 使用ps命令,具体用法是 ps -xH
这样可以检视所有存在的执尺庆行绪,也可知顷以使用grep作进一步的过滤。
3。 使用ps命令,具体用法是 ps -mq PID
这样可以看到指定的程序产生的执行绪数目。
更进一步,其实一些系统监控工具,在本质上也是读取的系统产生的档案罢了。比如说程序这个事情,
看看这个目录吧,/proc/5000/ 这里面有你所有想要的。其实stat代表着当前的一些资讯。
使用ps命令来检视程序的时候,程序状态分别对应的含义如下:
D 不可中断睡眠 (通常是在IO *** 作) 收到讯号不唤醒和不可执行, 程序必须等待直到有中断发生
R 正在执行或可执行(在执行伫列排队中)
S 可中断睡眠 (休眠中, 受阻, 在等待某个条件的形成或接受到讯号)
T 已停止的 程序收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU讯号后停止执行
W 正在换页(2.6.核心之前有效)
X 死程序 (未开启)
Z 僵尸程序 程序已终止, 但程序描述符存在, 直到父程序呼叫wait4()系统呼叫后释放BSD风格的
<高优先顺序(not nice to other users)
N 低优先顺序(nice to other users)
L 页面锁定在记忆体(实时和定制的IO)
s 一个资讯头
l 多执行绪(使用 CLONE_THREAD,像NPTL的pthreads的那样)
+ 在前台程序组
linux如何检视某一程式下开启的执行绪数目, linux怎么检视程序中的执行绪数1、 cat /proc/${pid}/status
2、pstree -p ${pid}
3、 -p ${pid} 再按H 或者直接输入 -bH -d 3 -p ${pid}
-H
手册中说:-H : Threads toggle
加上这个选项启动,一行显示一个执行绪。否则,它一行显示一个程序。
4、ps xH
手册中说:H Show threads as if they were processes
这样可以检视所有存在的执行绪。
5、ps -mp <PID>
手册中说:m Show threads after processes
这样可以检视一个程序起的执行绪数。
linux下如何检视工作站GPU的执行绪数
lspci | grep -i vga
这样就可以显示机器上的显示卡资讯,比如
[root@localhost conf]# lspci | grep -i vga
01:00.0 VGA patible controller: nVidia Corporation Device 1081 (rev a1)
02:00.0 VGA patible controller: nVidia Corporation GT215 [GeForce GT 240] (rev a2)
08:05.0 VGA patible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 10)
如果想看详细的资讯,比如 GeForce GT 240,即 02:00.0
[root@localhost conf]# lspci -v -s 02:00.0
02:00.0 VGA patible controller: nVidia Corporation GT215 [GeForce GT 240] (rev a2) (prog-if 00 [VGA controller])
Subsystem: ASUSTeK Computer Inc. Device 8351
Flags: bus master, fast devsel, latency 0, IRQ 169
Memory at f9000000 (32-bit, non-prefetchable) [size=16M]
Memory at d0000000 (64-bit, prefetchable) [size=256M]
Memory at ce000000 (64-bit, prefetchable) [size=32M]
I/O ports at bc00 [size=128]
[virtual] Expansion ROM at f8f80000 [disabled] [size=512K]
……………………………
可以看到GT240的视讯记忆体是 256M
如何检视linux当前支援的最大tcp连线数,如何检视一个程序的执行绪数如何检视linux当前支援的最大tcp连线数 : ulimit -n
如何检视一个程序的执行绪数 : ps -Tfp 程序号
如何检视某程序下执行的执行绪最近刚刚接触到RobotFramework,发现这个工具倒是可以满足我的要求,而且可以结合seleniumLibrary,用来做web的自动化测试相当不错。之前我也接触过selenium,不过感觉那个工具更贴近开发人员使用,有了robotFramework之后,感觉这个工具相当强大,而且是贴近测试人员的。之所以说强大,主要是这些测试指令码都可以用文字格式储存(如txt/等)
==安装篇==
如果有想学的朋友可以自己下载以下档案安装(Google-code里可以找到大部分的安装档案):
这篇文章的内容比较旧了,最新的安装指南请检视 更新篇
python-2.7.1.msi(首先要有python,请选择将Python加入Path)
wxPython2.8-win32-unicode-2.8.11.0-py27.exe(wxPython,必须要的)
robotframework-2.6.0.win32.exe(然后装robot的Framework)
robotframework-ride-0.38.1.win32.exe(robotFramework的IDE,很不错)
robotframework-seleniumlibrary-2.8.win32.exe(seleniumLibrary)
安装成功后
执行[PythonDir]\Scripts\ride.py
看到介面就是安装成功了。
如果需要AutoIt支援就下载下面2个东东。
AutoItLibrary-1.1
pywin32-216.win32-py2.7.exe
==入门篇==
安装完成了,这个框架可以说是基于keyword的 *** 作,按F5可以看到所有载入的keyword。
首先新增一个project
然后新增suite
然后新增test case,接着在suite层级add library,把selenium library加进来,新增后按F5检验是否新增成功,如图
OK,继续在suite的setting里设定suite启动和结束的keyword,即Start Selenium Server和S Selenium Server,他会在执行时帮助我们自动启动seleniumserver。
接下来在test case里新增一个步骤,open browser(一般用selenium做web测试都要用这个方法来开启浏览器),新增后关键字变成蓝色表示找到关键字了,否则可能是拼写错误或者没有载入相应的library。红色表示有一个必选引数要给定输入值,具体引数可以看F5里的keyword说明。
输入引数,第二个引数预设是firefox,不过我没装,就用ie吧。
以上只是一个简单的例子,没有详细说明每个步骤的 *** 作,只是初步介绍。后续再详细介绍
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)