- Команда `jobs` не показывает никаких фоновых процессов
- 2 ответа 2
- Проблема с плагином Jobs! Уже не знаю куда обратиться!
- #1 Speak
- #2 compromiss
- #3 Speak
- #4 temoon
- #5 deadanykey
- #6 temoon
- #7 deadanykey
- #8 Speak
- #9 deadanykey
- #10 Mister_E
- Как использовать команду Jobs в Linux
- Понимание управления заданиями в Linux
- Как управлять заданиями в Linux
- Пример 1: отправка заданий в фоновом режиме
- Пример 2: Просмотр Заданий
- Пример 3: выведите задания на передний план
- Пример 4: остановите задание с помощью ctrl+z
- Пример 5: Запуск фоновых заданий с помощью bg
- Бонусный совет по окончанию заданий в Linux
Команда `jobs` не показывает никаких фоновых процессов
Когда я был в офисе, используя свой рабочий стол, я запускал скрипт run.sh в фоновом режиме 4 раза.
Затем я пришел домой и открыл терминал на своем ноутбуке, ssh на рабочий стол в моем офисе. Когда побежал ps -u jack , я увидел запущенные процессы:
Но когда я набрал jobs , я ничего не получил. Почему я мог видеть эти четыре запущенных фоновых процесса?
Кстати, как я могу вернуть их на свой текущий терминал, чтобы я мог убить одного из них, скажем, run.sh parameter4 & ?
2 ответа 2
Это связано с тем, что jobs отображает фоновые команды, запущенные из одной оболочки. Процессы оболочки, запущенные под вашим настольным терминалом и под ssh-терминалом, отличаются.
Чтобы иметь возможность управлять своими процессами как заданиями из разных терминалов, вы можете использовать screen или tmux которые в основном являются менеджерами виртуальных терминалов и могут повторно подключать их к любому количеству других терминалов.
Например, если вы только запускаете screen , он открывает оболочку по умолчанию и вы работаете с ней так же, как и с любой другой оболочкой. Затем, когда вы вернетесь домой и подключитесь по ssh к своей офисной машине, вы можете запустить screen -d -r чтобы отсоединить виртуальный терминал от настольного офисного терминала и подключить его к терминалу ssh, чтобы возобновить работу. Вы можете отсоединить виртуальный терминал от самого screen , нажав Ctrl-A, d.
Исходя из постановки задачи вопроса, ИМХО я не вижу никаких причин для использования background или foreground . Все, что вам нужно, — это найти процесс, работающий в фоновом режиме, чтобы вы могли его убить.
Запустите ps -ef | grep parameter3 чтобы найти процессы с parameter3 в имени процесса. Вы можете адаптировать grep для уникальной идентификации процесса, если у вас нет двух процессов с одинаковым именем процесса.
Как только он у вас есть, просто kill -9 PID и этот процесс будет убит. Так что нет необходимости выдвигать этот процесс на первый план, чтобы убить его.
Источник
Проблема с плагином Jobs! Уже не знаю куда обратиться!
#1 Speak
#2 compromiss
#3 Speak
Сообщение отредактировал Speak: 22 Апрель 2013 — 20:19
#4 temoon
#5 deadanykey
Проверьте конфиг «plugins/Jobs/jobConfig.yml». В поставке плагина он пуст!
Пример этого конфига: https://github.com/p. g/jobConfig.yml
Теперь разрешения. Их можно вообще не вписывать, потому что по умолчанию и так работает.
Или вот:
— jobs.use
— jobs.command.browse
— jobs.command.stats
— jobs.command.join
— jobs.command.leave
— jobs.command.info
— jobs.world.*
— jobs.join.*
Это для обычных игроков.
Сообщение отредактировал deadanykey: 22 Апрель 2013 — 22:26
#6 temoon
Проверьте конфиг «plugins/Jobs/jobConfig.yml». В поставке плагина он пуст!
Пример этого конфига: https://github.com/p. g/jobConfig.yml
Теперь разрешения. Их можно вообще не вписывать, потому что по умолчанию и так работает.
Или вот:
— jobs.use
— jobs.command.browse
— jobs.command.stats
— jobs.command.join
— jobs.command.leave
— jobs.command.info
— jobs.world.*
— jobs.join.*
Это для обычных игроков.
#7 deadanykey
Дак он же вроде воссоздает его при загрузке JAR
#8 Speak
Проверьте конфиг «plugins/Jobs/jobConfig.yml». В поставке плагина он пуст!
Пример этого конфига: https://github.com/p. g/jobConfig.yml
#9 deadanykey
deadanykey всё что мне нужно сделать это просто скопировать с https://github.com/p. g/jobConfig.yml всё в мой конфиг, я правильно понимаю вас?
#10 Mister_E
Источник
Как использовать команду Jobs в Linux
Главное меню » Linux » Как использовать команду Jobs в Linux
Задания имеют три возможных состояния в Linux: передний план, фон и остановлено.
– А что это значит? Чуть позже мы объясним подробнее. Сначала давайте рассмотрим некоторые инструменты, встроенные в команду Jobs.
Управление работой имеет несколько различных функций. Каждое можно побежать независимо. Вот таблица команд, связанных с управлением заданиями.
Команда | Описание |
---|---|
jobs | Список заданий в текущей оболочке |
bg %n | Отправить процесс в фоновом режиме |
fg %n | Вывести процесс на передний план |
В таблице n представляет собой номер соответствующего идентификатора задания.
Понимание управления заданиями в Linux
А что вообще такое jobs? Задания, процессы и задачи-это слова, которые часто используются взаимозаменяемо.
На самом деле есть некоторые небольшие различия, которые важны для ясности.
Разница может быть сведена к тому, какая сущность обрабатывает задачи. Пользователи владеют заданиями, а ядро-процессами.
В Linux задание может быть одним процессом или иметь несколько дочерних или подпроцессов.
Примером этого может быть задание, которое содержит несколько переданных команд, таких как эта:
В персональных вычислениях операционная система обрабатывает большинство процессов автоматически. Это обычно оптимизируется под потребности системы или приоритет, придаваемый определенной задаче. Эти процессы завершаются ядром и получают идентификатор процесса (PID).
Как управлять заданиями в Linux
Когда вы открываете новую оболочку, у вас есть возможность создавать свои собственные рабочие места. Фактически, это то, что происходит, когда вы вводите любую команду (или серию команд) в терминал.
На уровне пользователя-из оболочки можно вручную отправлять задания для работы в фоновом режиме, выводить их на передний план или приостанавливать (с помощью ctrl+z).
Итак, давайте рассмотрим на практике то, что вы узнали до сих пор, на нескольких примерах.
Пример 1: отправка заданий в фоновом режиме
Отправить задание на работу в фоновом режиме очень просто. Вам просто нужно добавить свою команду с символом & (амперсанд).
Вы можете видеть, что эта команда возвращает номер задания в скобках. Следующий номер-это идентификатор процесса, используемый ядром.
Пример 2: Просмотр Заданий
Если вы попытаетесь ввести команду jobs, вы можете быть смущены, что ничего не произошло. Это происходит потому, что в оболочке не было активных заданий. Теперь, когда у вас есть запущенное задание, вы можете запустить команду задания успешно.
Номер PID здесь не указан, но вам он не нужен. Вы управляете заданиями с помощью идентификатора задания пользователя/оболочки.
Пример 3: выведите задания на передний план
Вы можете использовать этот идентификатор задания, чтобы вывести свой экземпляр nano на передний план.
Если вы следили за этим, это должно привести вас в nano с вашим файлом под названием Linux AndreyEx.
Пример 4: остановите задание с помощью ctrl+z
Вы можете остановить открытые задания с помощью ctrl+z.
Вы можете открыть верхнюю часть, используйте ctrl+z, чтобы приостановить его, просмотреть его в списке заданий, а затем вернуть его на передний план перед закрытием.
Пример 5: Запуск фоновых заданий с помощью bg
Хотя вы можете отправлять задания в фоновом режиме с символом &, это всегда хорошо, чтобы иметь альтернативу. На экране вы видели, как я остановил задание с помощью ctrl+z. я вернул задание в оболочку и на передний план с помощью команды fg %n. Вы можете сделать то же самое, используя bg.
Мы собираемся использовать приложение с графическим интерфейсом, чтобы просто переключать вещи. Вы, возможно, заметили в прошлом, что когда вы открываете графический интерфейс из терминала, что если вы закроете терминал, графический интерфейс тоже закроется. Надеюсь, эта статья прояснила для вас, почему это происходит.
Итак, давайте использовать gedit. Мы собираемся сделать следующее:
- Запустить Gedit
- Вернитесь в оболочку и нажмите Ctrl+z
- Отправить его в фоновом режиме для запуска с помощью bg
- Проверьте список моих заданий, чтобы убедиться, что он запущен
- Вернитесь на передний план и отправьте системное прерывание, используя Ctrl+c, чтобы завершить его
Бонусный совет по окончанию заданий в Linux
Многие из нас привыкли использовать ctrl+c для завершения заданий в оболочке. Есть еще один способ сделать это, что включение вашего нового знания контроля работы.
Правильно, команда kill может быть использована вместе с идентификатором задания для завершения задания также.
Вывод
Изучение командной строки Linux приближает нас к внутренней работе нашей любимой операционной системы. Контроль учебных заданий дает нам возможность обрабатывать сразу несколько заданий.
Мы надеемся, что вы нашли что-то новое для изучения с этой статьей. Если вам понравилось, пожалуйста, сообщите нам об этом в разделе комментариев ниже или используйте ссылки, чтобы поделиться в социальных сетях.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник