linux 系统 分级命令目录作用,软硬中断,查看具体进程启动信息

来源:互联网 发布:姚小玲 知乎 北航 编辑:程序博客网 时间:2024/06/05 06:01

中断部分内容参考自:http://blog.csdn.net/zhangskd/article/details/21992933

进程查看部分参考自:http://blog.csdn.net/zheng0518/article/details/42964913


首先注意usr Unix System Resource,而不是User

然后通常/usr/bin下面的都是系统预装的可执行程序,会随着系统升级而改变

/usr/local/bin目录是给用户放置自己的可执行程序的地方,推荐放在这里,不会被系统升级而覆盖同名文件

 如果两个目录下有相同的可执行程序,谁优先执行受到PATH环境变量的影响,比如我的一台服务器的PATH变量为

echo $PATH

 /usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/dean/bin

这里/usr/local/bin优先于/usr/bin,一般都是如此。

 

bin: 
bin
binary的简写主要放置一些系统的必备执行档例如:catcpchmod dfdmesggzipkilllsmkdirmoremountrmsutar等。

/usr/bin:
主要放置一些应用软件工具的必备执行档例如c++g++gccchdrvdiffdigduejectelmfreegnome* ziphtpasswdkfmktoplastlesslocalem4makemanmcopyncftp newaliasesnslookup passwdquotasmb*wget等。

/sbin: 
主要放置一些系统管理的必备程序例如:cfdiskdhcpcddumpe2fsckfdiskhaltifconfigifup ifdowninitinsmodlilolsmodmke2fsmodprobequotacheckrebootrmmod runlevelshutdown等。

/usr/sbin: 
放置一些网路管理的必备程序例如:dhcpdhttpdimapin.*dinetdlpdnamednetconfignmbdsambasendmailsquidswaptcpdtcpdump

 

/bin : commands inthis dir are all system installed user commands

/sbin:  commands in this dir are all system installedsuper user commands

/usr/bin: usercommands for applications

/usr/sbin: superuser commands for applications

/usr/local/bin :application user commands

/usr/local/sbin:application super user commands


(1) 硬中断

由与系统相连的外设(比如网卡、硬盘)自动产生的。主要是用来通知操作系统系统外设状态的变化。比如当网卡收到数据包

的时候,就会发出一个中断。我们通常所说的中断指的是硬中断(hardirq)。

 

(2) 软中断

为了满足实时系统的要求,中断处理应该是越快越好。linux为了实现这个特点,当中断发生的时候,硬中断处理那些短时间

就可以完成的工作,而将那些处理事件比较长的工作,放到中断之后来完成,也就是软中断(softirq)来完成。

 

(3) 中断嵌套

Linux下硬中断是可以嵌套的,但是没有优先级的概念,也就是说任何一个新的中断都可以打断正在执行的中断,但同种中断

除外。软中断不能嵌套,但相同类型的软中断可以在不同CPU上并行执行。

 

(4) 软中断指令

int是软中断指令。

中断向量表是中断号和中断处理函数地址的对应表。

int n - 触发软中断n。相应的中断处理函数的地址为:中断向量表地址 + 4 * n。

 

(5)硬中断和软中断的区别

软中断是执行中断指令产生的,而硬中断是由外设引发的。

硬中断的中断号是由中断控制器提供的,软中断的中断号由指令直接指出,无需使用中断控制器。

硬中断是可屏蔽的,软中断不可屏蔽。

硬中断处理程序要确保它能快速地完成任务,这样程序执行时才不会等待较长时间,称为上半部。

软中断处理硬中断未完成的工作,是一种推后执行的机制,属于下半部。 



 查看进程信息  随便用 ps -ef 或者 ps -aux 都可以。

但是要查看启动信息,比如,由哪个用户启动,启动位置在哪里。

就必须 用 到 /proc/ 目录了。 在这个目录里存放的都是进程文件的信息。(在linux系统里 所有都是文件)


1、用ps -ef |grep xxxxx 得到该进程的pid

2、输入ls -l ,结果中 exe链接对应的就是可执行文件的路径
$ ls -l /proc/18283


以下是/proc目录中进程N的信息

/proc/N pid为N的进程信息

/proc/N/cmdline 进程启动命令

/proc/N/cwd 链接到进程当前工作目录

/proc/N/environ 进程环境变量列表

/proc/N/exe 链接到进程的执行命令文件

/proc/N/fd 包含进程相关的所有的文件描述符

/proc/N/maps 与进程相关的内存映射信息

/proc/N/mem 指代进程持有的内存,不可读

/proc/N/root 链接到进程的根目录

/proc/N/stat 进程的状态

/proc/N/statm 进程使用的内存的状态

/proc/N/status 进程状态信息,比stat/statm更具可读性

 

 

0 0
原创粉丝点击