В частности, я хочу проверить сервисы Samba и посмотреть, работает ли он на машине Solaris.
Для Linux мы можем проверить с помощью команды ниже.
service smb status
smbd (pid 8058) is running...
В отличие от Linux, в Solaris есть единая сервисная система. Это называется SMF. Чтобы проверить, работает ли служба, используйте команду svcs
. svcs -a
предоставит вам статус всех служб, настроенных в системе, включая отключенные службы.
Вот пример, где я уже знаю имя службы, в данном случае /network/http:apache22
, который является моим веб-сервером Apache. Используя ключи -l
и -p
я могу получить много информации о сервисе, в том числе о том, какие у него зависимости (предварительные условия) и какие идентификаторы процессов он выполняет в настоящее время.
$ svcs -lp /network/http:apache22
fmri svc:/network/http:apache22
name Apache 2.2 HTTP server
enabled true
state online
next_state none
state_time Tue Dec 27 09:53:38 2016
logfile /var/svc/log/network-http:apache22.log
restarter svc:/system/svc/restarter:default
contract_id 76060
manifest /lib/svc/manifest/network/http-apache22.xml
manifest /lib/svc/manifest/network/http-squid.xml
dependency require_all/error svc:/milestone/network:default (online)
dependency require_all/none svc:/system/filesystem/local:default (online)
dependency optional_all/error svc:/system/filesystem/autofs:default (online)
process 2474 /usr/apache2/2.2/bin/httpd -k start
process 13181 /usr/apache2/2.2/bin/httpd -k start
process 13183 /usr/apache2/2.2/bin/httpd -k start
process 13184 /usr/apache2/2.2/bin/httpd -k start
process 13185 /usr/apache2/2.2/bin/httpd -k start
process 13186 /usr/apache2/2.2/bin/httpd -k start
process 13187 /usr/apache2/2.2/bin/httpd -k start
Вы можете использовать ps -ef
чтобы найти службы, запущенные или нет на машине Solaris:
$ps -ef |grep smbd
root 3214 3886 0 20:49:40 ? 0:03 /usr/local/samba64/sbin/smbd -D
root 15273 3886 0 Nov 07 ? 0:04 /usr/local/samba64/sbin/smbd -D
root 23061 3886 0 11:12:30 ? 0:01 /usr/local/samba64/sbin/smbd -D