Можно поместить в черный список модуль ядра Bluetooth:
echo bluetooth >> /etc/modprobe.d/blacklist.conf
Это должно отключить устройство от того, чтобы быть инициализированным.
До -bt 0
. Я смог погуглить его с, отключают Bluetooth "купленный 0". Первый результат предполагает, что это был флаг, переданный hal
отключить Bluetooth. К сожалению, hal
обесценивается так, этот метод больше не будет работать.
Что-нибудь с PPID равным 1, по большей части, скорее всего, демон. Но могут возникнуть ситуации, когда процессы могут стать потомками 1, которые технически не являются демонами. Итак, методы, которые я обсуждаю ниже, предназначены для демонстрации того, как вы будете определять, принадлежит ли PID 1, не обязательно, что это настоящий демон.
$ ps -xj
PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
8420 1211 1211 8420 pts/4 1211 S+ 1000 0:01 ssh dufresne
1 2276 2275 2275 ? -1 Sl 1000 0:48 /usr/bin/gnome-keyring-daemon --daemonize --login
2196 2278 2278 2278 ? -1 Ssl 1000 0:39 gnome-session
1 2288 2278 2278 ? -1 S 1000 0:00 dbus-launch --sh-syntax --exit-with-session
1 2289 2289 2289 ? -1 Ssl 1000 6:00 /bin/dbus-daemon --fork --print-pid 4 --print-address 6 --session
1 2358 2289 2289 ? -1 Sl 1000 0:01 /usr/libexec/gvfsd
Отрывок из Википедии также может пролить свет на некоторые вещи, но он также оставляет немного неясным, как на самом деле определить, является ли процесс демоном или нет.
отрывок из ВикипедииВ среде Unix родительский процесс демона часто, но не всегда, является процессом инициализации. Демон обычно создается либо процессом , порождающим дочерний процесс, а затем немедленно завершающимся, таким образом заставляя init принять дочерний процесс, либо процессом init , непосредственно запускающим демон. Кроме того, демон, запускаемый посредством разветвления и выхода, обычно должен выполнять другие операции, такие как разъединение процесса от любого управляющего терминала (tty). Такие процедуры часто реализуются в различных вспомогательных подпрограммах, таких как daemon (3) в Unix.
ПРИМЕЧАНИЕ: в системах, которые используют SystemD (дистрибутивы Red Hat, такие как Fedora), обычно нет процесса init
, но вместо этого:
$ ps -j -1
PID PGID SID TTY STAT TIME COMMAND
1 1 1 ? Ss 0:42 /usr/lib/systemd/systemd --switched-root --system --deserialize 20
Это процесс с PID 1.
В системе Debian / Ubuntu у них будет процесс с именем init
:
$ ps -j -1
PID PGID SID TTY STAT TIME COMMAND
1 1 1 ? Ss 0:02 /sbin/init
И вот почему бывает сложно определить, является ли что-то демоном или нет, если его PPID равен 1:
Процесс может стать дочерним по отношению к процессу init ( ПРИМЕЧАНИЕ: , что процесс init
имеет PID 1), когда его родительский элемент убит или отвергает их, эти процессы не обязательно являются демонами, но все равно будут отображаться как имеющие PPID равный 1 .
Итак, чтобы определить, является ли что-то демон или нет, вероятно, потребуется серия тестов, а не просто проверка того, равен ли PPID 1.
Чтобы определить если что-то является демоном, вам, вероятно, придется прибегнуть к различным тестам, например:
sudo service ...
? Итак, нам приходится прибегать к «утиной печати», если он крякает и плывет, скорее всего, утка, но даже указанные выше характеристики могут вас обмануть.
Нет способа различить регулярный процесс из процесса демона. Демон может быть запущен из любого места, а не просто init. Нет необходимости удвоить вилку и отсоединить от терминала, который будет считаться демоном.
На системах GNOME, Daememon настроек GNOME - это его родитель, входит в систему, входит в систему к терминалу родителей и не имеет PID1, как его родительский PID, но он все еще считается демоном.
Демон просто непрерывно работает. Поэтому они, следовательно, невозможно определить с одной командой.
Теперь, если то, что вы хотите, состоит в том, чтобы узнать, работает ли ваш конкретный демон, то возьмите гандурь на команде PGREP
.
Кроме того, измените имя своего демона, уже есть команда, называемая демоном, с которой вы можете в конечном итоге конфликтуйте.