현재 프로그램을 실행하고있는 모든 디렉토리의 목록을 얻으려고하므로 현재 실행중인 수많은 작업을 추적 할 수 있습니다. 내가 개별적으로 명령을 실행하면이상한 bash 동작
, 그들은 모두 작동하는 것,하지만 난 그들을 함께 체인 때, 뭔가
for pid in `top -n 1 -u will | grep -iP "(programs|to|match)" | awk '{print $1}'`;
do
ll /proc/$pid/fd | head -n 2 | tail -n 1;
done
(
ll
그냥 일반
ls -l
별칭입니다) ... 잘못된 것입니다
왜 ll /proc/31353/fd
이 루프 내에 있습니까? for
루프는 파일에 액세스 할 수 없지만 정상적으로 사용할 때 제대로 작동합니까?
그리고
는hexdump -C
을 통해 파이프 :이 같은
$ top -n 1 -u will |
grep -iP "(scatci|congen|denprop|swmol3|sword|swedmos|swtrmo)" |
awk '{print $1}' | hexdump -C
00000000 1b 28 42 1b 5b 6d 1b 28 42 1b 5b 6d 32 31 33 35 |.(B.[m.(B.[m2135|
00000010 33 0a 1b 28 42 1b 5b 6d 1b 28 42 1b 5b 6d 32 39 |3..(B.[m.(B.[m29|
00000020 33 33 31 0a 1b 28 42 1b 5b 6d 1b 28 42 1b 5b 6d |331..(B.[m.(B.[m|
00000030 33 30 39 39 36 0a 1b 28 42 1b 5b 6d 1b 28 42 1b |30996..(B.[m.(B.|
00000040 5b 6d 32 36 37 31 38 0a |[m26718.|
00000048
'ls -l "/ proc/$ pid/fd"'를 시도 했습니까? – anubhava
@anubhava, 예, 아무런 차이가 없습니다. – will
오류가 있습니까? 아니면 출력이 없습니까? – anubhava