Команда status не распознает параметр `-p` в Ubuntu

Я не знаю ни о каком вторичном буфере обмена (кроме запущенного Clipman - я использую Xfce4). То, что я часто делаю, это выделяю текст и вставляю его с помощью средней кнопки мыши.

Когда мне нужны два одновременных (и удобных) пути копирования/вставки, я выделяю текст с помощью клавиатуры или мыши, нажимаю Ctrl + C, выделяю другой текст, затем использую среднюю кнопку мыши и Ctrl + V. Порядок не имеет значения, пока я ничего не выделяю.

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

1
11.05.2015, 11:47
2 ответа

status -p $pidfile -l $lockfile $prog

Это функция оболочки status() из /etc/rc.d/init.d/functions на RHEL/CentOS 6. Она также известна как statusproc() в мире Linux From Scratch.

Это говорит нам о том, что вы делаете все очень неправильно. Вы путаете специальные вспомогательные функции оболочки, доступные для использования в сценариях System 5 rc, с обычными интерактивными внешними командами оболочки. Вы пишете скрипты System 5 rc на Ubuntu. И вы используете файлы PID и файлы блокировки.

  • Не используйте PID-файлы в качестве бедного мужского отслеживания служб. Не используйте файлы блокировки как бедную мужскую блокировку сервисов. Они совершенно не нужны в Ubuntu Linux версий 14 и 15, где есть upstart и systemd, соответственно. Им не нужны шаткие файлы PID и файлы блокировки. И systemd, и upstart гарантируют, что один и тот же сервис не будет запущен дважды, и оба правильно отслеживают идентификаторы процессов сервисов, потому что они изначально развивают эти процессы. Что приводит меня к следующему:
  • Не пишите скрипты System 5 rc в Ubuntu Linux. В 14-й версии уже был upstart; а в 15-й версии теперь есть systemd, как в CentOS 7, RHEL 7 и Debian 8. Уже давно не было веской причины писать скрипты System 5 rc в Ubuntu Linux. И уж точно не стоит начинать оттуда, если вы только что пришли в Ubuntu Linux. Даже если вы начинаете оттуда, потому что (ошибочно) пытаетесь перенести скрипты System 5 rc из CentOS:
  • Не полагайтесь на функцию status() shell в разных операционных системах или даже в разных версиях одной и той же операционной системы. Как уже отмечалось, в LFS она называется по-другому. Ее нет в "новых" функциях поддержки LSB из Fedora от 2009 года. Нет даже обязательного status System 5 rc действия сценария в Debian Policy Manual, хотя в библиотеке вспомогательных функций оболочки LSB есть (слегка отличающаяся) status_of_proc() вспомогательная функция.

Напишите "файл задания" upstart для версии Ubuntu 14 или "блок обслуживания" systemd для CentOS 7, RHEL 7, Debian 8 или Ubuntu 15. И upstart, и systemd предоставляют команды состояния обслуживания: initctl status (с простым shim, названным просто status) и systemctl status, соответственно. Для их поддержки в файле задания или служебной единице вам не нужно ничего делать.

Further reading

2
29.04.2021, 00:28

Статус в CentOS 6.5 - это версия 0.6.5 из пакета upstart .
Статус в Ubuntu 14.04 имеет версию 1.12.1, также из пакета выскочки .

Ни один из них не принимает параметр -p .

Статус Upstart не позволяет вам каким-либо образом указывать PIDFILE. Вы можете указать задание и указать параметры ключ = значение, которые будут передаваться в сценарии. Другие параметры командной строки можно просмотреть с помощью status --help .

В CentOS 7 нет статуса (по крайней мере, в моей установке), поскольку CentOS 7 больше не использует Upstart (после переключения на systemd). Вы можете попытаться выяснить, какой пакет предоставляет статус на вашем CentOS ( yum whatprovides $ (which status) ) и посмотреть, сможете ли вы установить этот пакет в Ubuntu и получить {{ 1}} альтернативный статус (который, надеюсь, также имеет другое, не конфликтующее имя).

1
29.04.2021, 00:28

Теги

Похожие вопросы