PIDOF

Denis Vlasenko vda.linux at googlemail.com
Mon Dec 25 01:26:43 UTC 2006


On Sunday 24 December 2006 17:47, mike wrote:
> Is it just me or does pidof not do anything. e.g.
> 
> # pidof init
> 
> # pidof rubbishnonsense
> 
> #
> 
> I'm using busybox 1.2.2.1 and kernel 2.6.12
> 
> I have tried building it with and without the option processing. Same
> problem.
> 
> Can someone confirm that it does work.

Yes it works, strace looks like this:


execve("./busybox", ["./busybox", "pidof", "mc"], [/* 30 vars */]) = 0
brk(0)                                  = 0x813d000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7ee9000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=50896, ...}) = 0
mmap2(NULL, 50896, PROT_READ, MAP_PRIVATE, 4, 0) = 0xf7edc000
close(4)                                = 0
open("/lib/libcrypt.so.1", O_RDONLY)    = 4
read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0004\10\0"..., 512) = 512
fstat64(4, {st_mode=S_IFREG|0555, st_size=23075, ...}) = 0
mmap2(NULL, 180540, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xf7eaf000
mmap2(0xf7eb3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x3) = 0xf7eb3000
mmap2(0xf7eb5000, 155964, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf7eb5000
close(4)                                = 0
open("/lib/libm.so.6", O_RDONLY)        = 4
read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\2203\0"..., 512) = 512
fstat64(4, {st_mode=S_IFREG|0555, st_size=197818, ...}) = 0
mmap2(NULL, 135296, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xf7e8d000
mmap2(0xf7ead000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x1f) = 0xf7ead000
close(4)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 4
read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0[\1\000"..., 512) = 512
fstat64(4, {st_mode=S_IFREG|0555, st_size=1253200, ...}) = 0
mmap2(NULL, 976604, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xf7d9e000
mmap2(0xf7e86000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0xe7) = 0xf7e86000
mmap2(0xf7e8a000, 9948, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf7e8a000
close(4)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7d9d000
set_thread_area({entry_number:-1 -> 12, base_addr:0xf7d9d8c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xf7e86000, 8192, PROT_READ)   = 0
mprotect(0xf7ead000, 4096, PROT_READ)   = 0
mprotect(0xf7eb3000, 4096, PROT_READ)   = 0
mprotect(0xf7f00000, 4096, PROT_READ)   = 0
munmap(0xf7edc000, 50896)               = 0
getpid()                                = 18289
brk(0)                                  = 0x813d000
brk(0x815e000)                          = 0x815e000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 4
fstat64(4, {st_mode=S_IFREG|0444, st_size=488464, ...}) = 0
mmap2(NULL, 488464, PROT_READ, MAP_PRIVATE, 4, 0) = 0xf7d25000
close(4)                                = 0
stat64("/etc/busybox.conf", 0xff900394) = -1 ENOENT (No such file or directory)
stat64("/etc/busybox.conf", 0xff9001e0) = -1 ENOENT (No such file or directory)
getuid32()                              = 0
getgid32()                              = 0
setgid32(0)                             = 0
setuid32(0)                             = 0
open("/proc", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
fstat64(4, {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
getdents64(4, /* 186 entries */, 8192)  = 4800
open("/proc/1/stat", O_RDONLY|O_LARGEFILE) = 5
read(5, "1 (init) S 0 1 1 0 -1 4202752 10"..., 1023) = 224
read(5, "", 799)                        = 0
close(5)                                = 0
open("/proc/2/stat", O_RDONLY|O_LARGEFILE) = 5
read(5, "2 (migration/0) S 1 1 1 0 -1 328"..., 1023) = 154
read(5, "", 869)                        = 0
close(5)                                = 0
...
open("/proc/18289/stat", O_RDONLY|O_LARGEFILE) = 5
read(5, "18289 (busybox) R 18288 19966 18"..., 1023) = 213
read(5, "", 810)                        = 0
close(5)                                = 0
getdents64(4, /* 0 entries */, 8192)    = 0
close(4)                                = 0
fstat64(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 4), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7ee8000
write(1, "18206 5819 19966\n", 17)      = 17
exit_group(0)                           = ?



More information about the busybox mailing list