1

Начинаю понимать unix и испытываю трудности с поиском команд для управления процессами. Как пользователь, который не является root, я пытаюсь выяснить ...

(1) the process id of current shell, 
(2) its parent process’s process id, 
(3) how many processes this user is running, 
(4) how many of processes are running on the machine, 
(5) how many are sleeping, how many are stopped, 
(6) how much total memory your machine has, 
(7) how much of that is used and how much is free.
(8) how to determine whether or not a process is using more than X amount of memory
(9) how to suspend a process temporarily for investigation purposes and how to resume it again
(10)terminating a process and ensuring it is in fact, terminated

Друг рекомендовал мне использовать

man

но у меня возникли проблемы с навигацией по нему. Если бы вы могли также поделиться большим общим ресурсом для команд Unix, это было бы очень полезно.

2 ответа2

0

Просто для начала, вот шпаргалка по общим командам Unix. Цель man - найти больше информации о каждой команде, например, их параметры и требуемый ввод. Так ls список файлов в текущем каталоге. Если вы делаете man ls вы можете найти больше опций для этой команды.

0

Это специфично для Linux и Bash. Некоторые из них будут работать в других Unix, а некоторые - в других оболочках. В частности, материал, включающий что-либо в /proc , не будет работать на любом другом Unix. И хотя я думаю, что большинство оболочек имеют $$ , я не знаю, что какая-либо оболочка, кроме bash, имеет $PPID .

  1. echo $$
  2. echo $PPID
  3. ps -u $USER | tail -n +2 | wc -l
  4. ps -e | tail -n +2 | wc -l
  5. Это можно узнать, но не очень просто.
  6. fgrep MemTotal /proc/meminfo
  7. На этот вопрос также нет простого ответа. В идеальной системе никогда не бывает более «свободной» памяти, поскольку любая, которая не нужна программам, будет выделена для дискового кэша. Linux динамически сдвигает память между использованием процессами и использованием кешем.
  8. ps -ev и ищите процессы с большим RSS, который обозначает «размер резидентного набора» и показывает, сколько памяти использует этот процесс.
  9. kill -STOP <pid>
  10. Сначала убейте его, аккуратно kill <pid> и если вскоре после этого он не исчезнет, убейте его предубеждением kill -9 <pid> . Он исчезнет после -9, если нет, то это проблема ядра.

Как уже упоминалось, очень полезна утилита top (сделай man top). Он расскажет вам об общем объеме памяти и о том, сколько она используется для буферов и кеша, а также сколько свободно. Его также можно использовать для отображения процессов, упорядоченных по использованию памяти или использованию процессора.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .