Solaris의 긴 형식의 ps 명령

Solaris의 긴 형식의 ps 명령

Solaris에서 긴 명령줄을 사용하여 작업을 인쇄하지 마세요.

   bash-3.2$ /usr/ucb/ps auxwww | grep ftf | awk '{print $NF}' | head -5
  /proj/cmp01/app/btws/cfg/btw
  /proj/cmp01/app/btws/cfg/btw
  /proj/cmp01/app/btws/cfg/btw
  /proj/cmp01/app/btws/cfg/btw
  /proj/cmp01/app/btws/cfg/btw

  bash-3.2$ /usr/ucb/ps -alxww | grep -v "alxww" | grep ftf | grep -v grep|head -5
  0 39548   737   693  0  50 20 5112 3952 603110c3e70 S ?        249:55 /usr/bin/bash                  
  /proj/cmp01/app/ftf/bin/ftf.sh -y -c /proj/cmp01/app/btws/cfg/btw
  0 39548   906   871  0  50 20 4568 3488 6034bfbf348 S ?        245:12 /usr/bin/bash   
  /proj/cmp01/app/ftf/bin/ftf.sh -y -c /proj/cmp01/app/btws/cfg/btw
  0 39548  2512  2480  0  50 20 4552 3544 603d5120df8 S ?        134:04 /usr/bin/bash 
  /proj/cmp01/app/ftf/bin/ftf.sh -y -c /proj/cmp01/app/btws/cfg/btw
  0 39548  2523  2496  0  50 20 4728 3688 602fcee1d28 S ?        135:43 /usr/bin/bash 
  /proj/cmp01/app/ftf/bin/ftf.sh -y -c /proj/cmp01/app/btws/cfg/btw
  0 39548  2557  2535  0  50 20 4472 3480 603df1e0838 S ?        133:48 /usr/bin/bash 
  /proj/cmp01/app/ftf/bin/ftf.sh -y -c /proj/cmp01/app/btws/cfg/btw

구성 파일의 일부를 삭제하는 중입니다.

나는 또한 사용할 수 없습니다 pargs:

   bash-3.2$ for i in `/usr/ucb/ps -alxww | grep -v "alxww" | grep ftf | grep -v gr
   ep| awk '{print $3}'|head -3`; do pargs $i; done 
   pargs: cannot examine 737: permission denied
   pargs: cannot examine 2512: permission denied
   pargs: cannot examine 2523: permission denied
   bash-3.2$ 

나는 확인했다이 문제, 그러나 전체 주장을 얻을 수는 없습니다.

답변1

나는 당신이 필요 이상으로 그것을 더 복잡하게 만들고 있다고 믿습니다. 불필요 awk하거나 오래된 버전의 ps명령입니다.

이 시도:

for x in `ps -ed -o pid=`; do echo -n "$x " ; pargs -l $x; done

또는 예쁘게 인쇄할 때:

for x in `ps -ed -o pid=`; do 
   echo -n "$x " 
   pargs -l $x 2>/dev/null # don't want to see err msg for procs that no longer exist
done

이렇게 하면 기간에 관계없이 PID와 모든 cmd 매개변수가 포함된 출력이 생성됩니다. 원하는 경우 해당 출력을 grep할 수 있습니다.

pargs명령에는 프로세스 확인이 필요하며 루트이거나 동등한 권한이 없는 한 모든 프로세스에 대해 이 작업을 수행하도록 허용하지 않을 수도 있습니다.

관련 정보