- unixforum.org
- Re: Получение списка всех запущенных демонов.
- Re: Получение списка всех запущенных демонов.
- Re: Получение списка всех запущенных демонов.
- Re: Получение списка всех запущенных демонов.
- Re: Получение списка всех запущенных демонов.
- Re: Получение списка всех запущенных демонов.
- Re: Получение списка всех запущенных демонов.
- Re: Получение списка всех запущенных демонов.
- Re: Получение списка всех запущенных демонов.
- Re: Получение списка всех запущенных демонов.
- Re: Получение списка всех запущенных демонов.
- How to list all running daemons?
- 3 Answers 3
- Linux Mint Forums
- How to list all running daemons?
- Re: How to list all running daemons?
unixforum.org
Нужно получить список всех запускаемых демонов в хронологическом порядке.
Подскажите пожалуйста.как это сделать?
Какой-то командой или есть место,где они все хранятся?
Система Debian Lenny.
Re: Получение списка всех запущенных демонов.
Сообщение BIgAndy » 03.10.2010 21:57
Нужно получить список всех запускаемых демонов в хронологическом порядке.
Подскажите пожалуйста.как это сделать?
Какой-то командой или есть место,где они все хранятся?
Система Debian Lenny.
SLEDopit Модератор Сообщения: 4814 Статус: фанат консоли (= ОС: GNU/Debian, RHEL
Re: Получение списка всех запущенных демонов.
Сообщение SLEDopit » 04.10.2010 00:16
find /var/run -name "*pid" | sed 's/.pid//;s_/var/run/__'
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don’t do mistakes, the more bugs are in your code.
Re: Получение списка всех запущенных демонов.
SLEDopit Модератор Сообщения: 4814 Статус: фанат консоли (= ОС: GNU/Debian, RHEL
Re: Получение списка всех запущенных демонов.
Сообщение SLEDopit » 04.10.2010 18:59
так там же ссылки на файлы в /etc/init.d/ . Причем некоторые из них представляют просто различные системные службы, а не демоны.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don’t do mistakes, the more bugs are in your code.
Re: Получение списка всех запущенных демонов.
так там же ссылки на файлы в /etc/init.d/ . Причем некоторые из них представляют просто различные системные службы, а не демоны.
не спорю. но порядок их запуска устанавливается именно в rc*.d.
SLEDopit Модератор Сообщения: 4814 Статус: фанат консоли (= ОС: GNU/Debian, RHEL
Re: Получение списка всех запущенных демонов.
Сообщение SLEDopit » 06.10.2010 21:34
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don’t do mistakes, the more bugs are in your code.
Re: Получение списка всех запущенных демонов.
Сообщение Shampe » 10.10.2010 17:45
Извиняюсь.что долго отвечал.
Т.е. для получения списка придется парсить все сценарии запуска в rc*.d и выковыривать оттуда названия демонов?
Re: Получение списка всех запущенных демонов.
Сообщение sgfault » 11.10.2010 00:11
Извиняюсь.что долго отвечал.
Т.е. для получения списка придется парсить все сценарии запуска в rc*.d и выковыривать оттуда названия демонов?
Возможно, наоборот будет проще: сначала найти названия всех запущенных демонов, потом выбрать из них те, которые запускаются из rc., а заодно выставить правильный порядок. Если демоны запускаются из одного файла, порядок можно определить по номеру строки. А если из разных.. что-нибудь еще придумать -)
Re: Получение списка всех запущенных демонов.
Сообщение Shampe » 11.10.2010 00:31
find /var/run -name "*pid" | sed 's/.pid//;s_/var/run/__'
Спасибо Вам за совет.Про эту директорию знал,но не было уверенности.что в ней хранятся пиды всех демонов.
Вы уверенны,что там все демоны?
Возможно, наоборот будет проще: сначала найти названия всех запущенных демонов, потом выбрать из них те, которые запускаются из rc., а заодно выставить правильный порядок. Если демоны запускаются из одного файла, порядок можно определить по номеру строки. А если из разных.. что-нибудь еще придумать -)
Re: Получение списка всех запущенных демонов.
Сообщение /dev/random » 11.10.2010 00:41
Гарантировать, что хоть какой-нибудь способ всегда будет перечислять все демоны, невозможно ввиду расплывчатости понятия «демон».
watashiwa_daredeska Бывший модератор Сообщения: 4038 Статус: Искусственный интеллект (pre-alpha) ОС: Debian GNU/Linux
Re: Получение списка всех запущенных демонов.
Гарантировать, что хоть какой-нибудь способ всегда будет перечислять все демоны, невозможно ввиду расплывчатости понятия «демон».
Ну почему же. Демон — фоновый процесс, непосредственный child init’а, отвязанный от tty. Итого, по определению:
How to list all running daemons?
From my question Can Process id and session id of a daemon differ?, it was clear that I cannot easily decide the features of a daemon. I have read in different articles and from different forums that service —status-all command can be used to list all the daemons in my system. But I do not think that the command is listing all daemons because NetworkManager , a daemon which is currently running in my Ubuntu 14.04 system, is not listed by the command. Is there some command to list the running daemons or else is there some way to find the daemons from the filesystem itself?
Are you sure it’s not listed? How are you checking? I can see it on my Debian. Note that the name is network-manager , not NetworkManager .
Yes. I am sure. Nothing related to the term network is listed. Also it lists anacron which is mentioned as not a daemon in its init script.
Anacron not being a daemon is more a question of semantics because it is not run constantly. It is still run as a service which is what you normally refer to as daemons. Please edit your question and i) tell us which Ubuntu you are running and ii) what exactly you mean by «daemon». What is your final objective here?
I suppose any service running in the background is a daemon. I mentioned anacron because it was said in /etc/init.d/anacron that it is not a daemon. My objective is to write a C++ program to list all daemons running in my system. For that I need to know which files to parse to get the details.
Well, if you define daemons as services, service —status-all is what you need. Ubuntu seems to treat NetworkManager differently. I get both networking and network-manager in the output of services —status-all on Debian but only networking on Ubuntu. I think you need to define what exactly you mean by «daemon».
3 Answers 3
The notion of daemon is attached to processes, not files. For this reason, there is no sense in «finding daemons on the filesystem». Just to make the notion a little clearer : a program is an executable file (visible in the output of ls ) ; a process is an instance of that program (visible in the output of ps ).
Now, if we use the information that I gave in my answer, we could find running daemons by searching for processes which run without a controlling terminal attached to them. This can be done quite easily with ps :
The tty output field contains «?» when the process has no controlling terminal.
The big problem here comes when your system runs a graphical environment. Since GUI programs (i.e. Chromium) are not attached to a terminal, they also appear in the output. On a standard system, where root does not run graphical programs, you could simply restrict the previous list to root’s processes. This can be achieved using ps ‘ -U switch.
Yet, two problems arise here:
- If root is running graphical programs, they will show up.
- Daemons running without root privileges won’t. Note that daemons which start at boot time are usually running as root.
Basically, we would like to display all programs without a controlling terminal, but not GUI programs. Luckily for us, there is a program to list GUI processes : xlsclients ! This answer from slm tells us how to use it to list all GUI programs, but we’ll have to reverse it, since we want to exclude them. This can be done using the —deselect switch.
First, we’ll build a list of all GUI programs for which we have running processes. From the answer I just linked, this is done using.
$ xlsclients | cut -d' ' -f3 | paste - -s -d ','
Now, ps has a -C switch which allows us to select by command name. We just got our command list, so let’s inject it into the ps command line. Note that I’m using —deselect afterwards to reverse my selection.
$ ps -C "$(xlsclients | cut -d' ' -f3 | paste - -s -d ',')" --deselect
Now, we have a list of all non-GUI processes. Let’s not forget our «no TTY attached» rule. For this, I’ll add -o tty,args to the previous line in order to output the tty of each process (and its full command line) :
$ ps -C "$(xlsclients | cut -d' ' -f3 | paste - -s -d ',')" --deselect -o tty,args | grep ^?
The final grep captures all lines which begin with «?», that is, all processes without a controlling tty. And there you go! This final line gives you all non-GUI processes running without a controlling terminal. Note that you could still improve it, for instance, by excluding kernel threads (which aren’t processes).
$ ps -C "$(xlsclients | cut -d' ' -f3 | paste - -s -d ',')" --ppid 2 --pid 2 --deselect -o tty,args | grep ^?
. or by adding a few columns of information for you to read:
$ ps -C "$(xlsclients | cut -d' ' -f3 | paste - -s -d ',')" --ppid 2 --pid 2 --deselect -o tty,uid,pid,ppid,args | grep ^?
Linux Mint Forums
Forum rules
There are no such things as «stupid» questions. However if you think your question is a bit stupid, then this is the right place for you to post it. Please stick to easy to-the-point questions that you feel people can answer fast. For long and complicated questions prefer the other forums within the support section.
Before you post please read how to get help. Topics in this forum are automatically closed 6 months after creation.
How to list all running daemons?
Post by Titanic » Sat Jul 23, 2016 5:49 am
I am working with LM 17.3 Cinnamon «Rosa»
How can I list all running daemons?
under ARCH LINUX it would be
Which daemons should be started:
to configure:
vim /etc/rc.conf
and whichservices/Daemons are available:
ls /etc/rc.d/
Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 1 time in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
Re: How to list all running daemons?
Post by Mute Ant » Sat Jul 23, 2016 6:24 am
This will list processes that look like daemons; the name ends in ‘d’ or contains ‘daemon’, with the occasional false positive, like find.
- 1 ? 00:00:11 systemd
2 ? 00:00:00 kthreadd
7 ? 00:00:24 rcu_sched
19 ? 00:00:00 khungtaskd
21 ? 00:00:00 ksmd
22 ? 00:00:04 khugepaged
24 ? 00:00:00 kintegrityd
26 ? 00:00:00 kblockd
28 ? 00:00:00 md
51 ? 00:00:00 kthrotld
170 ? 00:00:00 kpsmoused
1631 ? 00:00:00 kauditd
1835 ? 00:00:00 lvmetad
1858 ? 00:00:00 systemd-udevd
2104 ? 00:00:05 dbus-daemon
2120 ? 00:00:00 systemd-logind
2123 ? 00:00:00 avahi-daemon
2128 ? 00:00:00 avahi-daemon
2162 ? 00:00:00 rsyslogd
2182 ? 00:00:00 acpid
2361 ? 00:00:00 polkitd
2363 ? 00:00:00 cups-browsed
2416 ? 00:00:01 ntpd
3932 ? 00:00:00 dbus-daemon
3982 ? 00:00:00 systemd
4284 ? 00:00:03 dbus-daemon
4301 ? 00:00:00 gnome-keyring-d
4382 ? 00:00:00 dbus-daemon
4388 ? 00:00:00 xfconfd
4406 ? 00:00:01 xfsettingsd
4429 ? 00:00:00 accounts-daemon
4436 ? 00:00:00 xfce4-volumed
4458 ? 00:00:00 rtkit-daemon
4468 ? 00:00:00 gvfsd
4533 ? 00:00:14 udisksd
4587 ? 00:00:00 indicator-sound
4609 ? 00:00:00 uuidd
5007 ? 00:00:00 gvfsd-dnssd
5035 ? 00:00:00 upowerd
8610 ? 00:00:00 btrfs-readahead
9533 pts/5 00:00:00 find
12158 ? 00:00:00 dbus-daemon