Назад | Перейти на главную страницу

ps aux | grep su, как убить все процессы su?

Если я ps aux | grep su В настоящее время после смены пользователя несколько раз у меня есть следующее:

fmaster  24811  0.0  1.3  10652  7000 pts/3    S    23:11   0:00 -su
root     24932  0.0  0.2   5352  1464 pts/3    S    23:12   0:00 su - root
root     24941  0.0  0.8   7772  4256 pts/3    S    23:12   0:00 -su
fmaster  27148  0.0  0.2   5352  1436 pts/3    S    23:28   0:00 su - fmaster
fmaster  27155  0.0  1.3  10652  7044 pts/3    S    23:28   0:00 -su
root     27284  0.0  0.2   5352  1468 pts/3    S    23:29   0:00 su -
root     27293  0.0  0.8   7732  4208 pts/3    S    23:29   0:00 -su
fmaster  27685  0.0  0.2   5352  1424 pts/3    S    23:32   0:00 su - fmaster
fmaster  27692  0.0  1.3  10652  7060 pts/3    S    23:32   0:00 -su
root     27842  0.0  0.2   5352  1468 pts/3    S    23:32   0:00 su -
root     27853  0.0  0.8   7748  4244 pts/3    S    23:32   0:00 -su
fmaster  29407  0.0  0.2   5352  1432 pts/3    S    23:41   0:00 su - fmaster
fmaster  29414  0.0  1.4  10656  7152 pts/3    S    23:41   0:00 -su
root     29846  0.0  0.2   5352  1468 pts/3    S    23:44   0:00 su -
root     29853  0.0  0.8   7700  4156 pts/3    S    23:44   0:00 -su
fmaster  30008  0.0  0.2   5352  1436 pts/3    S    23:45   0:00 su - fmaster
fmaster  30015  0.0  1.3  10652  7124 pts/3    S    23:45   0:00 -su
root     30180  0.0  0.2   5352  1468 pts/3    S    23:46   0:00 su -
root     30189  0.0  0.8   7744  4244 pts/3    S    23:46   0:00 -su

очищаются ли эти процессы автоматически? или надо их вручную убивать?

Специально для этого случая есть команда: убить всех

killall su

Когда вы «переключаете пользователей», вы фактически создаете новую оболочку в качестве этого пользователя. Ваша старая оболочка все еще существует и является родительской для вашей текущей оболочки. Думайте об этом, как о том, чтобы построить новую картонную коробку для игры, поместить ее в существующую картонную коробку и затем прыгнуть внутрь нее.

Если вы «переключите пользователей» с root на fmaster и снова обратно на root, у вас будут запущены три оболочки, каждая из которых является родительской для следующей. Сделайте это десять раз, и теперь у вас работает 11 оболочек. Все они занимают память и процессор, но в остальном не причиняют вреда.

Если он у вас установлен, вы можете увидеть все эти оболочки, связанные вместе с командой pstree. Если нет, вы можете использовать ps -ejH или ps -axjf.

Все они закончатся, когда вы отключитесь от сервера.

В killall Команда, предложенная Джоэлом, будет иметь аналогичный эффект, но это странный способ делать что-то. Для начала, если вы в настоящее время работаете в оболочке с разрешениями fmaster, только оболочки fmaster будут убиты. то есть каждый второй. Однако, поскольку все корневые оболочки теперь будут убивать и их родительский, и их единственный дочерний элемент, они также будут завершены. Если вы запустите killall как root, все они будут убиты. В любом случае, это бесцеремонно выбросит вас из всех подоболочек и вернет в исходную оболочку входа.

Вы можете завершить текущую оболочку и вернуться к предыдущей, набрав либо exit, logout или ctrl-d.

Если у вас нет особой необходимости запускать оболочку от имени root, вам обычно лучше использовать sudo перед любыми командами, которые вы хотите запустить с правами root.