programing

PS 명령어 전체 출력 표시

oldcodes 2023. 4. 14. 22:05
반응형

PS 명령어 전체 출력 표시

내가 달릴 때ps -auxputty를 사용하여 연결한 Linux 서버에서 명령어를 실행하면 현재 창 너비에 맞도록 너무 긴 프로세스가 거의 없습니다.다른 대안이 있나요?

-- 갱신 --

다운그레이드해서 죄송합니다. 다른 사람들도 답이 유용하지 않을 것 같아서 다운그레이드 했습니다.

요청하신 정보 여기 있습니다.

hadoop-user@hadoop-desk:~$ echo $TERM
xterm

hadoop-user@hadoop-desk:~$ stty -a
speed 38400 baud; rows 47; columns 158; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

hadoop-user@hadoop-desk:~$ echo $COLUMNS
158

사용방법auxww플래그에서는 터미널 창과 셸 스크립트 양쪽에서 출력할 수 있는 풀패스가 표시됩니다.

darragh@darraghserver ~ $uname -a
SunOS darraghserver 5.10 Generic_142901-13 i86pc i386 i86pc

darragh@darraghserver ~ $which ps
/usr/bin/ps<br>

darragh@darraghserver ~ $/usr/ucb/ps auxww | grep ps
darragh 13680  0.0  0.0 3872 3152 pts/1    O 14:39:32  0:00 /usr/ucb/ps -auxww
darragh 13681  0.0  0.0 1420  852 pts/1    S 14:39:32  0:00 grep ps

ps aux에 모든 사용자에 의해 실행된 모든 프로세스를 나타냅니다.man ps자세한 것은, 을 참조해 주세요.wwflag는 폭을 무제한으로 설정합니다.

-w         Wide output. Use this option twice for unlimited width.
w          Wide output. Use this option twice for unlimited width.

다음 블로그에서 답을 찾았습니다.
http://www.snowfrog.net/2010/06/10/solaris-ps-output-truncated-at-80-columns/

예를 들어, 또는 그 출력 후에 호출기를 사용하고 있을 가능성이 있습니다.ps aux화면보다 길어요.이 경우 다음 옵션을 사용하면 긴 행이 잘리지 않고 줄 바꿈됩니다.

ps aux | less -+S

ps aux | most -w

다음 명령 중 하나를 사용하면 줄이 줄바꿈되지 않지만 화살표 키 또는 다른 이동 키를 사용하여 좌우로 스크롤할 수 있습니다.

ps aux | less -S    # use arrow keys, or Esc-( and Esc-), or Alt-( and Alt-) 

ps aux | most       # use arrow keys, or < and > (Tab can also be used to scroll right)

행은 항상 줄바꿈되어 있습니다.more그리고.pg.

언제ps aux파이프에 사용됩니다.w이 때문에 옵션은 불필요합니다.ps는, 출력이 단말기에 접속되어 있는 경우에만 화면폭을 사용합니다.

심플하고 완벽:

ps -efww

선이 잘리지 않는다

고양이에게 던져주면 자동으로 줄이 끊어진다.

ps aux | cat

몇 개 건네주다ws는 표시폭을 무시합니다.

출력 포맷을 수동으로 지정하는 경우는, 다음의 동작도 확인할 필요가 있습니다.argsoption은 출력 필드 목록의 마지막입니다.그렇지 않으면 잘립니다.

ps -A -o args,pid,lstart주다

/usr/lib/postgresql/9.5/bin 29900 Thu May 11 10:41:59 2017
postgres: checkpointer proc 29902 Thu May 11 10:41:59 2017
postgres: writer process    29903 Thu May 11 10:41:59 2017
postgres: wal writer proces 29904 Thu May 11 10:41:59 2017
postgres: autovacuum launch 29905 Thu May 11 10:41:59 2017
postgres: stats collector p 29906 Thu May 11 10:41:59 2017
[kworker/2:0]               30188 Fri May 12 09:20:17 2017
/usr/lib/upower/upowerd     30651 Mon May  8 09:57:58 2017
/usr/sbin/apache2 -k start  31288 Fri May 12 07:35:01 2017
/usr/sbin/apache2 -k start  31289 Fri May 12 07:35:01 2017
/sbin/rpc.statd --no-notify 31635 Mon May  8 09:49:12 2017
/sbin/rpcbind -f -w         31637 Mon May  8 09:49:12 2017
[nfsiod]                    31645 Mon May  8 09:49:12 2017
[kworker/1:0]               31801 Fri May 12 09:49:15 2017
[kworker/u16:0]             32658 Fri May 12 11:00:51 2017

그렇지만ps -A -o pid,lstart,args완전한 명령줄을 표시합니다.

29900 Thu May 11 10:41:59 2017 /usr/lib/postgresql/9.5/bin/postgres -D /tmp/4493-d849-dc76-9215 -p 38103
29902 Thu May 11 10:41:59 2017 postgres: checkpointer process   
29903 Thu May 11 10:41:59 2017 postgres: writer process   
29904 Thu May 11 10:41:59 2017 postgres: wal writer process   
29905 Thu May 11 10:41:59 2017 postgres: autovacuum launcher process   
29906 Thu May 11 10:41:59 2017 postgres: stats collector process   
30188 Fri May 12 09:20:17 2017 [kworker/2:0]
30651 Mon May  8 09:57:58 2017 /usr/lib/upower/upowerd
31288 Fri May 12 07:35:01 2017 /usr/sbin/apache2 -k start
31289 Fri May 12 07:35:01 2017 /usr/sbin/apache2 -k start
31635 Mon May  8 09:49:12 2017 /sbin/rpc.statd --no-notify
31637 Mon May  8 09:49:12 2017 /sbin/rpcbind -f -w
31645 Mon May  8 09:49:12 2017 [nfsiod]
31801 Fri May 12 09:49:15 2017 [kworker/1:0]
32658 Fri May 12 11:00:51 2017 [kworker/u16:0]

출력 형식을 설정할 수 있습니다(예: 명령 및 프로세스 ID만 표시).

ps -eo pid,args

자세한 출력 형식은 ps의 man 페이지를 참조하십시오.또는 를 사용할 수도 있습니다.-w또는--width n옵션들.

그 외의 모든 것이 실패했을 경우는, 다음의 회피책이 있습니다(긴 cmds 를 참조해 주세요).

awk '{ split(FILENAME,f,"/") ; printf "%s: %s\n", f[3],$0 }' /proc/[0-9]*/cmdline

파티에 늦어서 미안한데 방금 이 문제에 대한 해결책을 찾았어.

ps는 $COLUMN 값을 계속 사용하기 때문에 그 시점에서 출력이 화면이 아니더라도 행이 잘립니다.그건 버그야, IMHO.단, 조작이 용이하기 때문에 ps는 화면이 매우 넓다고 생각할 수 있습니다.즉, ps 명령어 기간 동안 COLUMNS를 높게 설정합니다.예:

$ ps -edalf                 # truncates lines to screen width
$ COLUMNS=1000 ps -edalf    # wraps lines regardless of screen width

나는 이것이 누군가에게 여전히 유용하기를 바란다.다른 모든 아이디어는 너무 복잡해 보였어요:)

다른 사람이 언급한 절단 증거(개인 사례)

foo=$(ps -p 689 -o command); echo "$foo"

COMMAND
/opt/conda/bin/python -m ipykernel_launcher -f /root/.local/share/jupyter/runtime/kernel-5732db1a-d484-4a58-9d67-de6ef5ac721b.json

^^는 변수의 긴 출력을 캡처합니다.

ps -p 689 -o command

COMMAND
/opt/conda/bin/python -m ipykernel_launcher -f /root/.local/share/jupyter/runtim

Docker의 주피터 노트북에서 시도하고 있었기 때문에, 물론 이것을 쾅하고 실행할 필요가 있었습니다.

!foo=$(ps -p 689 -o command); echo "$foo"

의외로 주피터 노트북으로 그마저도 실행할 수 있습니다!하지만 문제가 되는 노트북이 모든 메모리를 차지하게 되어 기쁩니다 =D

하지 않는 는, 「」의 이 .ps네 문제가 아니야줄을 감을 수 있도록 퍼티를 세팅해야 하지 않을까요?

그렇지 않으면 더 많은 정보가 필요합니다.

당신이 가 if if if ifgrepaux에서 .ps aux를 ., 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 이렇게 하면 좋을 때가 요.grep줄바 이는 ?? ???

를 들면, 「 」입니다.ps aux | grep ffmpeg.

위의 답변 중 어느 것도 효과가 없었기 때문에 나는 이 답변을 발견했고, 그것이 나를 곤혹스럽게 했다.

https://unix.stackexchange.com/questions/91561/ps-full-command-is-too-long

기본적으로 커널에 의해 cmd 행이 제한됩니다.

위 중 어느 것도 버스박스가 있는 도커 컨테이너에서는 작동하지 않았습니다.사용하는 것은 다음과 같습니다.

$ cat /proc/<PID>/cmdline | tr \\0 ' '

언급URL : https://stackoverflow.com/questions/2159860/viewing-full-output-of-ps-command

반응형