proc_pid_cmdline()
으로 전화하지 않아도됩니다. 그러나
static int proc_pid_cmdline(struct seq_file *m, struct pid_namespace *ns,
struct pid *pid, struct task_struct *task)
, 그것이 무엇을하는 것은 간단하다 :
IT는이 non-public functionfs/proc/base.c
에
하지만 전체 경로를 반환 할 가능성이 없습니다
get_cmdline(task, m->buf, PAGE_SIZE);
그것은을 할 수 없습니다 모든 경우에 전체 경로를 결정하십시오. arg [0] 값은 덮어 쓸 수 있거나 파일을 삭제하거나 옮길 수 있습니다. 프로세스는 원래 명령 줄과 모든 종류의 다른 질병을 가리는 방식으로 exec()를 수행 할 수 있습니다.
/proc 디렉토리/* /있는 CmdLine 덜보다 유용한 결과의 모든 종류를 전환 내 페도라 20 시스템의 스캔 :
-F
BUG:
WARNING: at
WARNING: CPU:
INFO: possible recursive locking detecte
ernel BUG at
list_del corruption
list_add corruption
do_IRQ: stack overflow:
ear stack overflow (cur:
eneral protection fault
nable to handle kernel
ouble fault:
RTNL: assertion failed
eek! page_mapcount(page) went negative!
adness at
NETDEV WATCHDOG
ysctl table check failed
: nobody cared
IRQ handler type mismatch
Machine Check Exception:
Machine check events logged
divide error:
bounds:
coprocessor segment overrun:
invalid TSS:
segment not present:
invalid opcode:
alignment check:
stack segment:
fpu exception:
simd exception:
iret exception:
/var/log/messages
--
/usr/bin/abrt-dump-oops
-xtD
Linux (및 Unix)가 프로세스 이름을 전혀 사용하지 않기 때문에 프로세스 이름을 정의해야합니다. – wallyk