Рядом с тем, что такое CTRL + Z, на приложении unix\Linux и https://unix.stackexchange.com/questions/135077/ctrl-c-vs-ctrl-z-with-foreground-job
Если вы не поиграли со своими настройками stty, в этом случае вы бы знали лучше, чем задавать этот вопрос:
Ctrl+Z "останавливает" процесс в общей терминологии Unix, но "стоп" НЕ означает "конец". Процесс, "остановленный" с помощью Ctrl+Z, фактически заморожен, но вы можете возобновить его либо в фоновом режиме (чтобы он выполнялся, но не использовал терминал), либо на переднем плане (запускался и действительно использовал терминал). Пока он "остановлен", он сохраняет файлы и сокеты открытыми, а открытый сокет продолжает "резервировать" порт. Думайте об этом как о стоп-сигнале на улице: когда вы дойдете до стоп-сигнала, вы должны остановиться и оставаться на одном месте, пока индикатор горит красным, но когда он становится зеленым, вы можете возобновить движение (а если нет люди начинают гудеть, по крайней мере, в США). Некоторые люди и инструменты используют вместо этого слово «приостановить [ed]», что может показаться вам более понятным.
Чтобы невольно завершить процесс на вашем терминале (на переднем плане), используйте Ctrl+C, который Unix называет "прерыванием" (INTR). Если процесс не запущен на переднем плане на вашем терминале, вы можете вместо этого использовать kill
(традиционно это программа, теперь встроенная в оболочку) с номером PID (идентификатор процесса); это работает даже для процессов, запущенных под другой оболочкой, если вы найдете правильный PID. Если он приостановлен или работает в фоновом режиме под вашей оболочкой, вы можете использовать встроенную команду kill
(только) с идентификатором задания, показанным в списке из встроенного jobs
.
Программа также может выйти добровольно, в зависимости от программы. Запуск jar использует java
для запуска Java-программы, начиная с назначенного основного класса в этом jar как одного потока; Программа может создавать дополнительные темы. Если каждый поток возвращается из своего основного или начального класса, или любой поток вызывает System.exit()
, java
завершается. Чтобы определить, как и как эта Java-программа выполняет эти действия, вам нужно взглянуть на Java-программу или поговорить с кем-то, кто может посмотреть или уже посмотрел на программу.