Я на самом деле видел, что система настраивает путь Ваш описывала. Это имело две строки в/etc/passwd для идентификатора пользователя 0 (корень):
root:x:0:0:root:/root:/bin/sh
toor:x:0:0:root:/root:/bin/csh
Или что-то как этот. Я думаю, что это была система SunOS 4.1.x, давным-давно, поэтому возможно, Вы не можете сделать этого в современной системе Linux. Я сказал бы что разрешение и дал бы ему попытку. Что это может повредить?
Так rswrk01
и co являются пользователями. Иногда полезный из kill
это, если Вы передаете-1 как PID, сигнал отправляется во все процессы, в которые отправитель сигнала имеет разрешение отправить сигналы. Другими словами, для некорневого пользователя, kill -$sig -1
отправляет сигнал во все процессы, работающие как тот пользователь. Это включает уничтожителя, но доставка является атомарной, таким образом, все соответствующие процессы действительно получают сигнал.
Теперь все, что необходимо сделать, помещается это в цикле, и Вы сделаны. Начиная с форматирования чисел с продвижением обнуляет, что-то вроде боли, не очень привлекательный, но удобный прием должен поместить продвижение 1
(т.е. количество от 101 до 198, а не 1 - 98), и снимают изоляцию с этого.
i=101
while [ $i -le 98 ]; do
sudo su - rswrk${i#1} kill -KILL -1
i=$((i+1))
done
Или в ksh:
for ((i=101; i<=198; i++)); do
sudo su - rswrk${i#1} kill -KILL -1
done
Или в ударе или zsh:
for i in {01..98}; do
sudo su - rswrk$i kill -KILL -1
done
sudo -u rswrk96 -i killall ...
должен совпасть с выполнением su - rswrk96
и затем killall ...
.
То, что оставляют, генерирует последовательность 00-96. Это должно работать:
for i in $(seq -w 00 96); do sudo -u rswrk$i -i killall ...; done
Теперь, когда я думаю о нем, Вы могли, вероятно, просто сделать
for i in $(seq -w 00 96); do sudo killall -u rswrk$i; done
Не должны входить в систему.
which pkill
и ничто не возвратило
– munish
17.01.2012, 16:41
killall
. Посмотрите man killall
для чтения, какие опции можно поместить там (идея: killall -u rswrk$i
уничтожил бы все процессы того пользователя). 2. -i
аргумент sudo
совпадает с -
аргумент su
: это запускает сценарии входа в систему пользователя, которые создают его среду.
– angus
17.01.2012, 16:49
$ sudo -u rswrk96 usage: sudo -V | -h | -L | -l | -v | -k | -K | [-H] [-S] [-b] [-p prompt] [-u username/#uid] -s | <command>
это - то, что я получаю, когда я даю sudo-u вместо sudo su - donno, почему
– munish
17.01.2012, 17:01
kill -9 -1
просто отменит все процессы, работающие от имени пользователя выполнения команды, даже оболочки. Можно попробовать это sudo для уничтожения процессов другого пользователя. sudo -u user1 kill -9 -1
Или просто используйте -u
флаг к pkill
команда.