Одно раздражение с принятым решением - то, что заголовки для различных столбцов будут включены в вывод. Причем другая проблема - это при использовании переключателя -x
кому: ps
это обеспечит полные командные строки для некоторых программ, которые могут работать и стать неприятностью в выводе.
Раздражающие командные строки
saml 18174 7.3 3.2 1174896 259756? Sl Aug27 132:38/opt/google/chrome/chrome - type=renderer - lang=en-US --force-fieldtrials=AsyncDns/AsyncDnsB/ForceCompositingMode/disable/InfiniteCache/No/OmniboxHQPReplaceHUPProhibitTrumpingInlineableResult/Standard/OmniboxSearchSuggestTrialStarted2013Q1/7/OneClickSignIn/Standard/Prerender/PrerenderControl/SendFeedbackLinkLocation/default/Test0PercentDefault/group_01/UMA-Dynamic-Binary-Uniformity-Trial/default/UMA-Session-Randomized-Uniformity-Trial-5-Percent/group_17/UMA-Uniformity-Trial-1-Percent/group_20/UMA-Uniformity-Trial-10-Percent/group_07/UMA-Uniformity-Trial-20-Percent/default/UMA-Uniformity-Trial-5-Percent/group_04/UMA-Uniformity-Trial-50-Percent/group_01/ - enable-crash-reporter=4061BD10D0DC127169CE2132BC3FF8EC, выпуск 14 Fedora (Лафлин) - дополнительный процесс - предварительный просмотр рендерера - отключают-webgl - disable-pepper-3d - disable-gl-multisampling - disable-accelerated-compositing - disable-accelerated-2d-canvas - disable-accelerated-video-decode - channel=18086.4.1423385819
базируйтесь 1764 7.7 0.3 163692 28 928 tty1 Ss + Aug21 817:49/usr/bin/Xorg:0 - номер - подробный - автор/var/run/gdm/auth-for-gdm-fADI0V/database-nolisten tcp vt1
Chrome особенно может быть довольно раздражающим при взгляде на ps
вывод как это!
Заголовки в выводе
$ ps auf | sort -nk 3 | head -20
...
root 1741 0.0 0.0 4140 400 tty5 Ss+ Aug21 0:00 /sbin/mingetty /dev/tty5
root 1743 0.0 0.0 4140 400 tty6 Ss+ Aug21 0:00 /sbin/mingetty /dev/tty6
saml 13780 0.0 0.0 115088 4216 pts/13 Ss Aug27 0:00 bash
saml 20432 0.0 0.0 6308 400 pts/9 S+ Aug27 0:00 \_ inotifywatch -e CREATE /etc
saml 8206 0.0 0.0 115296 1108 pts/6 Ss+ Aug21 0:03 bash
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
saml 29352 0.1 0.5 661848 42960 pts/13 Sl+ 17:59 0:18 \_ irb
...
Вы видите заголовок, смешанный в в 7-й строке в выводе.
Избавление от заголовков
ps
обеспечивает переключатель для отключения дисплея этих заголовков столбцов. Это довольно просто в использовании, просто добавьте --no-heading
переключатель.
$ ps aux --no-heading | sort -nk 3 | head -10
68 1481 0.0 0.0 38592 2144 ? Ssl Aug21 0:28 hald
68 1527 0.0 0.0 18016 672 ? S Aug21 0:01 /usr/libexec/hald-addon-acpi
avahi 1333 0.0 0.0 27872 1172 ? S Aug21 0:01 avahi-daemon: running [grinchy.local]
avahi 1334 0.0 0.0 27752 20 ? S Aug21 0:00 avahi-daemon: chroot helper
dbus 1307 0.0 0.0 22716 1900 ? Ss Aug21 1:03 dbus-daemon --system
gdm 1879 0.0 0.0 317220 2740 ? Sl Aug21 0:00 /usr/libexec/polkit-gnome-authentication-agent-1
ntp 3060 0.0 0.0 32600 2152 ? Ss 20:05 0:00 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g
root 1 0.0 0.0 19420 1004 ? Ss Aug21 0:01 /sbin/init
root 1006 0.0 0.0 0 0 ? S Aug21 0:00 [kvm-irqfd-clean]
root 1020 0.0 0.0 0 0 ? S Aug21 2:02 [kdmflush]
Или как это:
$ ps auf --no-heading | sort -nk 3 |head -10
root 1735 0.0 0.0 4140 400 tty2 Ss+ Aug21 0:00 /sbin/mingetty /dev/tty2
root 1737 0.0 0.0 4140 400 tty3 Ss+ Aug21 0:00 /sbin/mingetty /dev/tty3
root 1739 0.0 0.0 4140 400 tty4 Ss+ Aug21 0:00 /sbin/mingetty /dev/tty4
root 1741 0.0 0.0 4140 400 tty5 Ss+ Aug21 0:00 /sbin/mingetty /dev/tty5
root 1743 0.0 0.0 4140 400 tty6 Ss+ Aug21 0:00 /sbin/mingetty /dev/tty6
saml 13780 0.0 0.0 115088 4216 pts/13 Ss Aug27 0:00 bash
saml 20432 0.0 0.0 6308 400 pts/9 S+ Aug27 0:00 \_ inotifywatch -e CREATE /etc
saml 2098 0.0 0.0 115508 3148 pts/9 Ss Aug22 0:05 bash
saml 27134 0.0 0.0 115496 6768 pts/18 Ss Aug27 0:02 bash
saml 3248 0.0 0.0 115076 1024 pts/0 Ss+ Aug21 0:00 bash
Возьмите под свой контроль отображаемые столбцы.
Это может походить на боль, но если Вы пишете сценарий получения ps
произведите его, не слишком плохо. Команда как это будет подражать выводу ps aux
, кроме выгружают более длинную форму COMMAND
столбец с более короткой версией, которая просто показывает имя исполняемого файла.
$ ps ax --no-headings -o user,pid,%cpu,%mem,vsz,sgi_rss,tname,stat,start_time,time,ucmd
При соединении всего этого без заголовков столбцов намного легче иметь дело с при сценариях.
Список самых высоких к самому низкому % процессы ЦП:
$ ps ax --no-headings -o user,pid,%cpu,%mem,vsz,sgi_rss,tname,stat,start_time,time,ucmd |sort -nrk 3|head -10
saml 18086 114 6.4 1418852 515236 ? Sl Aug27 1-10:53:31 chrome
saml 18536 14.7 4.1 1276240 328636 ? Sl Aug27 04:29:21 chrome
saml 18558 12.2 3.4 1209712 278228 ? Sl Aug27 03:44:22 chrome
saml 18543 10.9 3.8 1238132 308824 ? Rl Aug27 03:20:18 chrome
root 1764 7.7 0.4 170220 35276 tty1 Rs+ Aug21 13:40:16 Xorg
saml 18174 7.3 3.0 1167728 241728 ? Sl Aug27 02:14:25 chrome
saml 18314 3.6 1.4 1049020 119308 ? Sl Aug27 01:06:19 chrome
saml 18528 2.7 3.1 1178368 251212 ? Sl Aug27 00:50:55 chrome
saml 2389 2.0 0.1 330632 8480 ? Sl Aug21 03:37:13 compiz
saml 18208 1.7 1.3 1081132 108828 ? Sl Aug27 00:32:02 chrome
Список самых низких к самому высокому % процессы ЦП:
$ ps ax --no-headings -o user,pid,%cpu,%mem,vsz,sgi_rss,tname,stat,start_time,time,ucmd |sort -nk 3|tail -10
saml 18208 1.7 1.3 1082156 108348 ? Sl Aug27 00:32:03 chrome
saml 2389 2.0 0.1 330632 8492 ? Sl Aug21 03:37:15 compiz
saml 18528 2.7 3.1 1181440 250856 ? Sl Aug27 00:50:58 chrome
saml 18314 3.6 1.5 1050044 119828 ? Sl Aug27 01:06:25 chrome
saml 18174 7.3 3.0 1167728 242068 ? Sl Aug27 02:14:32 chrome
root 1764 7.7 0.3 163688 28716 tty1 Ss+ Aug21 13:40:26 Xorg
saml 18543 10.9 3.8 1235060 305464 ? Sl Aug27 03:20:32 chrome
saml 18558 12.2 3.5 1214832 283560 ? Sl Aug27 03:44:34 chrome
saml 18536 14.7 3.9 1267024 314400 ? Sl Aug27 04:29:39 chrome
saml 18086 114 6.4 1412992 514856 ? Sl Aug27 1-10:55:28 chrome
Для файла /etc/crontab
указывается имя пользователя, например mylogin
. С помощью команды sudo crontab -e
вы фактически редактируете /var/spool/cron/crontabs/root
и не должны указывать имя пользователя в таком файле, только в /etc/crontab
.
Если необходимо выполнить команду в качестве пользователя mylogin
, необходимо поместить строку в /etc/crontab
(и отредактировать ее с правами root
) или просто поместить ее в crontab пользователя mylogin
.
От man 5 crontab
:
EXAMPLE SYSTEM CRON FILE
The following lists the content of a regular system-wide crontab file.
Unlinke a user's crontab, this file has the username field, as used by
/etc/crontab.
-121--83243- Вы можете выполнить это справедливо с помощью команды join
.
$ join -j 1 <(sort file3) <(sort file1) > tmp ; \
join -j 1 <(sort tmp) <(sort file2) | sed 's/ /\t/g' > file4
join
в file3 и file1 , так как file3 имеет ключи. sed
, которая заменяет все места на табуляцию. образцы в команде подстановки: [:; ]\( [^:;] *\)\( [:;]. *\) [;: ]\1
. Обратите внимание на \1
в конце. Это означает, что любой текст, соответствующий первой группе, \( [^:;] *\)
также должен иметь место в конце образца.
Ваш образец пространство изначально 0000:1111:2222:3333:4444:1111:2222:3333:0000
. Образец соответствует : 1111:2222:3333:4444:1111
, и 1111
соответствует первой группе, а также \1
в конце.
После первого раунда замен образца пространство было изменено на 0000:1111:2222:3333:4444:2222:3333:0000
. Теперь, если 1111
в пространстве образца используется для соответствия \( [^:;] *\)
, не осталось 1111
для соответствия \1
. Таким образом, образец не соответствует и механизм regex пытается что-то другое. В этом случае работает следующий доступный матч для первой группы, 2222
.