QNX-19—QNX Proc文件


一、/proc/pid

# ls /proc/12310
as    cmdline    ctl    exefile    mappings    pmap    vmstat


1. as

包含进程整个内存空间的地址空间。

2. cmdline

传递给进程的参数,以空字符分隔。 例如:

# pidin -p 1130602 arg //查看参数
     pid Arguments
 1130602 m.samsung.home
# cat /proc/1130602/cmdline
m.samsung.home

3. ctl
可用于 devctl() 命令来访问进程及其线程的文件。


4. exefile
进程的可执行文件的路径。 例如:

# echo `cat /proc/28687/exefile`
/sbin/io-pkt-v6-hc

5. mappings
进程地址空间中每个页面的详细视图。

6. pmap
进程映射的详细视图。

7. vmstat
进程虚拟内存的视图。

8. /proc/self
应该指示当前线程。


二、/proc/ham

# ls i2c_service/
attached    death       restart
# ls i2c_service/attached/
notify-pulse-attached
# ls i2c_service/death/
notify-pulse-death    restart-self    waitfor-restart-delay-500ms    waitfor-restart-enable
# ls i2c_service/restart/
notify-pulse-restarted


1. notify-pulse-attached

2. notify-pulse-death

3. restart-self

4. waitfor-restart-delay-500ms

5. waitfor-restart-enable

6. notify-pulse-restarted


三、/proc/vm

# ls vm/
stats

1. stats

系统中虚拟内存状态的全局视图。


四、/proc/boot

# ls /proc/boot/
el2-save-restore    ifs    ksh    libsecpol.so.1    mnt    procnto-smp-instr


五、/proc/config

# cat /proc/config
align_fault:off
fd_close_timeout:30
fpustate:4
ker_verbose:0
maxfds:4000
nohalt:0
nonlazy_stack:1
nopreempt:0
pregrow_size:524288
priv_prio.prio:64
priv_prio.saturate:0
procfs_ctl_umask:022
procfs_umask:066
shutdown_stack_len:128/0
safe_shared_mutexes:0
thread_timer_prealloc:0
clockcycles_offset_max:0xFFFFFFFFFFFFFFFF
allow_unregistered_events:0
pathtrust:0
small_msg_max:256
proc_thread_pool:3,10,75
thread_stack_prot:NOEXEC
mm_cleanup_prio:10
mmflags:0x219 (BACKWARDS_COMPAT,LOCKALL,SUPERLOCKALL,RANDOMIZE)


1. 成员解释

align_fault: 对应选项 -ad, -ae, -as,指示未对齐访问是否导致故障; 关闭或打开。 使用命令行选项禁用未对齐访问模拟会在未对齐访问上生成故障。
fd_close_timeout: 对应选项 -T,进程终止时等待 close() 成功的时间(以秒为单位)
fpustate: 对应选项 -f*,浮点标志;见下文。
ker_verbose: 对应选项 -V,详细程度
maxfds: 对应选项 -F, 可以同时打开的文件描述符的最大数量。
nohalt: 对应选项 -h, -~h,空闲线程中是否禁用CPU暂停; 0 或 1。
nonlazy_stack: 对应选项 -n,(QNX Neutrino 7.0.4 或更高版本)是否正在使用非惰性堆栈分配; 0 或 1
nopreempt: 对应选项 -p,是否禁用内核抢占; 0 或 1。使用 procnto-smp-instr -p 关闭内核中的抢占。 ###############
pregrow_size: 对应选项 -H,procnto 的初始堆大小,以字节为单位。
priv_prio.prio: 对应选项 -P,特权优先级范围的下限。
priv_prio.saturate: 对应选项 -P,超出范围的优先级请求是否使用最大允许值(达到“最大饱和点”)而不是导致错误
procfs_ctl_umask: 对应选项 -d,文件创建掩码,八进制,用于 /proc/pid/ctl 条目。
procfs_umask: 对应选项 -u,文件创建掩码,八进制,用于 /proc/pid/as 条目。 ===>实看,两个都对应不上
shutdown_stack_len: 对应选项 -S,要包含在内核转储中的堆栈指针前后的字节数。
safe_shared_mutexes: 对应选项 -s,内核是否拒绝任何锁定影响优先级的互斥体的尝试,这些互斥体的所有者不为内核所知,并且锁定线程声称来自不同的进程; 0 或 1
thread_timer_prealloc: 对应选项 -t,内核是否在线程创建时分配线程的软件计时器(1),或者第一次需要计时器时分配线程的软件计时器(0)
clockcycles_offset_max: 对应选项 -c,系统CPU时钟周期中允许的最大偏移(差异)
allow_unregistered_events: 对应选项 -U,默认情况下是否允许 (1) 或不允许 (0) 未注册的事件。
pathtrust:
small_msg_max:
proc_thread_pool: 没有对应选项,查看PROC_THREAD_POOL环境变量,procnto的线程池的配置,包括低水位线、高水位线、最大线程数。
thread_stack_prot: 对应选项 -mx, -m~x,是否为系统分配的线程启用 PROT_EXEC 标志; 执行或无执行。
mm_cleanup_prio:
mmflags: 见下文


2. fpustate 成员

fpustate 字段指示设置了哪些 FPU 标志。 其中包括以下内容:

位    选项        说明
-------------------------------------------------------------------------------
0x1   —           至少一个内核上未设置 CPU_FLAG_FPU 位(即至少一个内核没有浮点单元)
0x4   -fl, -~fl   启用惰性 FPU 上下文切换策略
0x8   -fa, -~fa   为每个新线程预先分配 FPU 上下文结构


3. mmflags 成员

mmflags 字段指示设置了哪些内存管理标志。 您可以使用 -m 命令行选项来设置一些。 这些标志包括以下内容:

标志              选项        说明
------------------------------------------------------------------------
BACKWARDS_COMPAT  -mb        启用向后兼容性
CACHEOP_NOCACHE   None       由于特定芯片勘误,无法在不可缓存内存上执行缓存操作
LOCKALL           -ml,-mL    所有内存均被锁定
RANDOMIZE         -mr        正在使用地址空间布局随机化 (ASLR)
REQUIRE_EXEC      -mX        如果文件没有客户端进程的执行权限,则 mmap() 或 mprotect() 为内存映射文件映射打开 PROT_EXEC 的任何尝试都会失败
SHMEM_GUARD       -mg        在任何共享内存分配之前添加一个保护页
SUPERLOCKALL      -mL        所有内存都被超级锁定


六、/proc/dumper

当进程异常终止时接收通知的特殊条目。 dumper实用程序监视此条目。


七、/proc/mount

路径名空间挂载点。
如果列出 /proc 目录的内容,则不会显示 /proc/mount,但可以列出 /proc/mount 的内容。

 

 

参考:
https://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.neutrino.utilities/topic/p/procnto.html
https://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.neutrino.prog/topic/process_proc_filesystem.html

 

posted on 2024-03-04 13:47  Hello-World3  阅读(95)  评论(0编辑  收藏  举报

导航