1

Предположим, я загружаю файл из интернета с помощью wget .

Теперь, если я нажимаю CTRL + Z значит, процесс остановлен.

Теперь я хочу знать, будет ли он убит автоматически или останется таким, как есть. Будет ли это потреблять любую память

4 ответа4

3

Это останется. ctrl + Z посылает сигнал SIGTSTP для обработки не SIGQUIT или SIGKILL. Если вы хотите уничтожить процесс, используйте ctrl + C или убейте остановленный процесс с помощью команды kill. В некоторых оболочках это просто kill % .

2

Даже если процесс будет убит, Linux все равно сохранит его в памяти. 99% машин имеют больше памяти, чем они могут реально использовать в 99% случаев, поэтому Linux хранит программу в памяти на случай, если она скоро будет запущена снова. Если это так, это избавляет ОС от необходимости загружать программу с диска. Если это не так, никакого вреда не будет, память может быть освобождена при необходимости.

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

Так что использование памяти не имеет никакого отношения к тому, завершается ли процесс или нет. Linux решает, сохранять ли вещи в памяти, основываясь на времени их использования, и в любом случае они не будут использоваться.

1

Нажав Ctrl + Z, вы только приостановите / приостановите процесс. В этом случае процесс остается активным и потребляет память. Чтобы убить процесс, используйте ctrl + c или команду kill.

1

Ctrl+Z приостанавливает (приостанавливает) процесс и печатает номер задания в форме [1]+ Stopped procname

Вы можете возобновить и вывести процесс на передний план, используя fg 1 , где 1 - это число, которое было напечатано вам.

Или вы можете возобновить его в фоновом режиме с помощью bg 1 , чтобы он продолжал работать, пока вы продолжаете работать в оболочке. Процесс будет продолжаться, даже если вы выйдете из оболочки. Вы можете достичь того же эффекта, добавляя & в конец командной строки при запуске процесса, например

wget http://www.example.com &

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