linux命令`jobs`中`%1`的含义

q09*_*987 3 linux

我看到了以下脚本:

$ ./crazy-malloc &
[1] 2817
malloced 3056 MB
$ jobs -x pmap %1
2823: ./crazy-malloc
000cc000 4112K rw--- [ anon ]
004d0000 104K r-x-- /lib/ld-2.3.5.so
004ea000 4K r---- /lib/ld-2.3.5.so
004eb000 4K rw--- /lib/ld-2.3.5.so
004ee000 1168K r-x-- /lib/libc-2.3.5.so
00612000 8K r---- /lib/libc-2.3.5.so
00614000 8K rw--- /lib/libc-2.3.5.so
00616000 8K rw--- [ anon ]
006cf000 124388K rw--- [ anon ]
08048000 4K r-x-- /home/john/examples/mm/crazy-malloc
08049000 4K rw--- /home/john/examples/mm/crazy-malloc
08051000 2882516K rw--- [ anon ]
b7f56000 125424K rw--- [ anon ]
bfa43000 84K rw--- [ stack ]
bfa58000 5140K rw--- [ anon ]
ffffe000 4K ----- [ anon ]
total 3142980K
Run Code Online (Sandbox Code Playgroud)

Q1>线路的用途是jobs -x pmap %1什么?是什么%1指示吗?

jobs -x command [ args ... ] 如果提供了 -x 选项,jobs 将在 command 或 args 中找到的任何 jobspec 替换为相应的进程组 ID,并执行传递给它 args 的命令,返回其退出状态。

pmap - 报告进程的内存映射

Q2> 前两列代表什么?

小智 5

  1. %1代表您刚刚启动和后台运行的进程(./crazy-malloc, pid 2817)。该命令jobs -x pmap %1扩展为pmap 2817.

  2. 输出中的四列pmap分别代表你的进程映射的每个内存区域的基地址、大小、权限和映射文件。