Kiedy uruchamiam ps -aux
polecenie na moim serwerze linuxowym, z którym łączyłem się za pomocą putty, kilka procesów jest zbyt długich, aby zmieścić się w bieżącej szerokości okna. Czy jest alternatywa?
-- Aktualizacja --
Przepraszam, że obniżyłem ocenę, myślałem, że inni też nie uznają odpowiedzi za przydatną, więc obniżyłem ocenę.
Oto informacje, o które prosiłeś.
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
echo $TERM
,stty -a
orazecho $COLUMNS
w swoim pytaniu.stty ocrnl
i / lubstty sane
?ps axuww
Taka jest odpowiedź;) Przynajmniej dla mnie. Podwójniww
to zrobili.Odpowiedzi:
Jest prawdopodobne, że używasz pagera, takiego jak
less
lubmost
ponieważ dane wyjścioweps aux
są dłuższe niż ekranowe. Jeśli tak, poniższe opcje spowodują (lub wymuszą) zawijanie długich wierszy zamiast ich obcięcia.Jeśli użyjesz jednego z poniższych poleceń, wiersze nie zostaną zawinięte, ale możesz użyć klawiszy strzałek lub innych klawiszy ruchu, aby przewijać w lewo iw prawo.
Linie są zawsze zawijane dla
more
ipg
.Gdy
ps aux
jest używana w potoku,w
opcja jest niepotrzebna, ponieważps
używa szerokości ekranu tylko wtedy, gdy wyjście jest kierowane do terminala.źródło
most
to kolejny pager. Dodałem link w mojej odpowiedzi.w
nie jest potrzebne, gdy używasz potoku, wydaje się być zależne od systemu. Zarówno w openSUSE Leap 15.0, jak i Ubuntu 18.04 polecenia takie jakps aux | grep <something>
działają na wyjściups
obciętym przez szerokość terminala.Używając
auxww
flag, zobaczysz pełną ścieżkę do wyjścia zarówno w oknie terminala, jak i ze skryptów powłoki.ps aux
wyświetla wszystkie procesy wykonywane przez wszystkich użytkowników. Zobaczman ps
szczegóły.ww
Flaga ustawia nieograniczoną szerokość.Odpowiedź znalazłem na następującym blogu:
http://www.snowfrog.net/2010/06/10/solaris-ps-output-truncated-at-80-columns/
źródło
ps auxf > ps.log
proste i doskonałe:
nie obetnie linii
źródło
Wystarczy rzucić go na kota, który automatycznie zawija linę
źródło
cat
polecenie jest na każdym polu nix.Przekroczenie tego przez kilka
w
sekund zignoruje szerokość wyświetlania.źródło
Jeśli ręcznie określasz format wyjściowy, musisz również upewnić się, że
args
opcja znajduje się na końcu listy pól wyjściowych, w przeciwnym razie zostanie obcięta.ps -A -o args,pid,lstart
dajeale
ps -A -o pid,lstart,args
dostajesz pełną linię poleceń:źródło
możesz ustawić format wyjściowy, np. aby zobaczyć tylko polecenie i identyfikator procesu.
zobacz stronę podręcznika systemowego ps, aby uzyskać więcej informacji o formacie wyjściowym. alternatywnie możesz użyć opcji
-w
lub--width n
.Jeśli wszystko inne zawiedzie, oto kolejne obejście (tylko po to, aby zobaczyć długie cmds)
źródło
Przepraszam, że spóźniłem się na imprezę, ale właśnie znalazłem to rozwiązanie problemu.
Linie są obcięte, ponieważ ps nalega na użycie wartości $ COLUMNS, nawet jeśli wyjście nie jest w tym momencie ekranem. Co jest błędem, IMHO. Ale łatwe do obejścia, po prostu spraw, by ps pomyślał, że masz super szeroki ekran, tj. Ustaw kolumny COLUMNS wysoko na czas trwania polecenia ps. Przykład:
Mam nadzieję, że nadal komuś się to przyda. Wszystkie inne pomysły wydawały się zbyt skomplikowane :)
źródło
Jeśli żadne z powyższych rozwiązań nie działa, wynik
ps
nie jest twoim problemem. Może potrzebujesz ustawić kit do owijania długich linii ?W przeciwnym razie potrzebujemy więcej informacji.
źródło
Jeśli szukasz
grep
polecenia z potokiem z ps aux, automatycznie zawinie tekst. Użyłem tutaj wielu innych odpowiedzi, ale czasami, jeśli szukasz czegoś konkretnego, miło jest po prostu użyćgrep
i wiesz, że zawija linie.Na przykład
ps aux | grep ffmpeg
.źródło
Znalazłem tę odpowiedź, która jest tym, co mnie przydało, ponieważ żadna z powyższych odpowiedzi nie zadziałała
/unix/91561/ps-full-command-is-too-long
Zasadniczo jądro ogranicza moją linię cmd.
źródło
Dowody na obcinanie, o których wspominali inni (osobisty przykład)
To ^^ przechwytuje ten długi wynik w zmiennej W przeciwieństwie do
Ponieważ próbowałem tego z notebooka Docker jupyter, musiałem oczywiście uruchomić to z hukiem.
Zaskakująco jupyter notebooki pozwala Ci to osiągnąć! Ale cieszę się, że obraźliwy notatnik zajmuje całą moją pamięć = D
źródło