0
리눅스 커널 (4.5.5) 내에서 printk()
을 mm/filemap.c에 추가했습니다.task_pid_nr (현재) ps의 출력에 나타나지 않는 pid를 반환
__generic_file_write_iter()
내부 I 추가 한 코드는 : io_tracing_on
참으로 평가되면 다음
if(io_tracing_on) {
ssize_t write_size = iov_length(from->iov, from->nr_segs);
printk(KERN_INFO "write size=%zu, pid=%d, inode=%lu\n", write_size, task_pid_nr(current), inode->i_ino);
}
, 난 (a different question 논의) 출력의 연속적인 스트림을 얻을 :
Jun 27 15:00:41 malka kernel: [ 463.424155] write size=168, pid=715, inode=7864653
Jun 27 15:00:41 malka kernel: [ 463.428064] write size=168, pid=715, inode=7864354
이 연속 된 출력 스트림 중에 pid (715)를 ps -ef
의 출력으로 매핑하려고했으나 사용할 수 없습니다. pid가 프로세스 목록에 없습니다. task_pid_nr(current)
이 어떤 프로세스를 말하는지 결정하는 방법이 있습니까?
당신은 당신의 코드 몇 줄 중단 할 수 있습니다 -은'를 printk의 중요한 부분을()'행 전용 편집 모드에서 내 화면에 나타납니다 – tofro
@tofro 흥미 롭습니다. 해당 코드 블록에 대한 가로 스크롤 막대도 표시되지 않습니까? – buratino
'task_pid_vnr (current)'에 의해 리턴 된 가상 PID가'ps'의 출력에 나타 납니까? –