ฉันไม่ทราบชื่อบริการ แต่ต้องการหยุดบริการโดยตรวจสอบสถานะ
ตัวอย่างเช่นหากฉันต้องการตรวจสอบว่าบริการPostgreSQLทำงานอยู่หรือไม่ แต่ฉันไม่รู้ชื่อของบริการฉันจะตรวจสอบสถานะได้อย่างไร
ฉันรู้ว่าคำสั่งเพื่อตรวจสอบสถานะหากทราบชื่อบริการ
ฉันไม่ทราบชื่อบริการ แต่ต้องการหยุดบริการโดยตรวจสอบสถานะ
ตัวอย่างเช่นหากฉันต้องการตรวจสอบว่าบริการPostgreSQLทำงานอยู่หรือไม่ แต่ฉันไม่รู้ชื่อของบริการฉันจะตรวจสอบสถานะได้อย่างไร
ฉันรู้ว่าคำสั่งเพื่อตรวจสอบสถานะหากทราบชื่อบริการ
คำตอบ:
ฉันไม่มีกล่อง Ubuntu แต่บนRed Hat Linuxคุณสามารถเห็นบริการที่กำลังทำงานอยู่ทั้งหมดโดยการเรียกใช้คำสั่งต่อไปนี้:
service --status-all
ในรายการ+
หมายถึงบริการกำลังทำงานอยู่-
แสดงว่าเซอร์วิสไม่ได้ทำงานอยู่?
แสดงว่าไม่สามารถระบุสถานะบริการได้
[-] {name}
แต่sudo service {name} status
แสดงว่ากำลังทำงานอยู่
sudo initctl list
เช่นกันโดย @linuxnewbee ที่นี่หลังจาก
สำหรับ Ubuntu (ทำเครื่องหมายด้วย 12.04)
คุณสามารถรับรายการบริการทั้งหมดและเลือกตามสีหนึ่งในนั้นด้วย 'grep':
sudo service --status-all | grep postgres
หรือคุณอาจใช้วิธีอื่นถ้าคุณทราบชื่อบริการที่ถูกต้อง:
sudo service postgresql status
sudo service --status-all 2>&1 | grep postgres
sudo service x status
รายงานActive: inactive (dead)
ที่นี่เพื่อใช้บริการ Ubuntu 15.04 (สดใส)
บางทีสิ่งที่คุณต้องการคือคำสั่ง ps
ps -ef
จะแสดงกระบวนการทั้งหมดให้คุณ ถ้าคุณมีความคิดว่าคุณต้องการใช้ grep ในการกรองอะไร
ps -ef | grep postgres
pgrep -a postgres
อาจจะดีกว่าคือ grep --color=auto needle
นอกจากนี้ยังหลีกเลี่ยงที่น่ารำคาญ
หากคุณเรียกใช้คำสั่งต่อไปนี้คุณจะได้รับรายการบริการ:
sudo service --status-all
ในการรับรายการงานพุ่งพรวดให้รันคำสั่งนี้:
sudo initctl list
systemctl --full --type service --all
มีวิธีง่าย ๆ ในการตรวจสอบว่าบริการกำลังทำงานอยู่หรือไม่
systemctl status service_name
ลอง PostgreSQL:
systemctl status postgresql
คุณสามารถใช้คำสั่งด้านล่างเพื่อตรวจสอบรายการบริการทั้งหมด
ps aux
วิธีตรวจสอบบริการของคุณเอง:
ps aux | grep postgres
วิธีที่ดีที่สุดคือการใช้nmap
เครื่องมือในเทอร์มินัล nmap เป็นเครื่องมือที่มีประโยชน์ที่จะวิเคราะห์ระบบ up โดยใช้มันIP Address
จากนั้นแสดงเครือข่ายที่services
เปิดใช้งานทั้งหมด
เปิดterminal
และใช้ตัวอย่างนี้:
~$ nmap 192.168.1.3/24
Starting Nmap 5.21 ( http://nmap.org ) at 2016-05-16 22:49 IRDT
Nmap scan report for 192.168.1.3
Host is up (0.00020s latency).
Not shown: 994 closed ports
PORT STATE SERVICE
22/tcp open ssh
23/tcp open telnet
139/tcp open netbios-ssn
445/tcp open microsoft-ds
3389/tcp open ms-term-serv
3689/tcp open rendezvous
วิ่ง
ps -ef | grep ชื่อที่เกี่ยวข้องกับกระบวนการ
คำสั่งดังกล่าวจะให้รายละเอียดทั้งหมดเช่น pid เวลาเริ่มต้นเกี่ยวกับกระบวนการ
เช่นถ้าคุณต้องการทุกกระบวนการ java realted ให้ java หรือถ้าคุณมีชื่อของกระบวนการวางชื่อ
วิธีที่สกปรกในการค้นหาบริการที่ทำงานอยู่ (บางครั้งมันไม่ถูกต้องเนื่องจากสคริปต์ที่กำหนดเองบางตัวไม่มี | สถานะ | ตัวเลือก)
[root@server ~]# for qw in `ls /etc/init.d/*`; do $qw status | grep -i running; done
auditd (pid 1089) is running...
crond (pid 1296) is running...
fail2ban-server (pid 1309) is running...
httpd (pid 7895) is running...
messagebus (pid 1145) is running...
mysqld (pid 1994) is running...
master (pid 1272) is running...
radiusd (pid 1712) is running...
redis-server (pid 1133) is running...
rsyslogd (pid 1109) is running...
openssh-daemon (pid 7040) is running...
สำหรับ centos คำสั่งด้านล่างใช้ได้สำหรับฉัน (:
locate postgres | grep service
เอาท์พุท:
/usr/lib/firewalld/services/postgresql.xml
/ usr / lib / systemd / system / postgresql-9.3.service
sudo systemctl status postgresql-9.3.service
วิธีตรวจสอบสถานะของบริการบนระบบปฏิบัติการ linux:
//in case of super user(admin) requires
sudo service {service_name} status
// in case of normal user
service {service_name} status
เพื่อหยุดหรือเริ่มบริการ
// in case of admin requires
sudo service {service_name} start/stop
// in case of normal user
service {service_name} start/stop
ในการรับรายการบริการทั้งหมดพร้อมกับ PID:
sudo service --status-all
คุณสามารถใช้ systemctl แทนบริการโทรโดยตรง:
systemctl status/start/stop {service_name}
สำหรับ Centos 6.10:
/sbin/service serviceNAME status
สำหรับ Centos 7.6 และ Ubuntu 18.04:
systemctl status NAME.service
ทำงานให้กับพวกเขาทั้งหมด:
service --status-all
ตามคำตอบนี้ในหัวข้อที่คล้ายกันhttps://askubuntu.com/a/58406
ฉันชอบ:/etc/init.d/postgres status