一文詳解Linux如何查詢服務(wù)和定位可執(zhí)行文件
1 查看所有運(yùn)行服務(wù)
1.1 使用systemd系統(tǒng)
# 查看所有正在運(yùn)行的服務(wù) systemctl list-units --type=service --state=running # 查看所有服務(wù)(包括未運(yùn)行的) systemctl list-unit-files --type=service
1.2 使用傳統(tǒng)SysVinit系統(tǒng)
# 查看所有服務(wù)狀態(tài) service --status-all # 或使用init.d目錄 ls /etc/init.d/
2 查看特定服務(wù)的詳細(xì)信息
使用systemctl status命令可以獲取服務(wù)的詳細(xì)狀態(tài)信息,包括主進(jìn)程ID和可執(zhí)行文件路徑【turn0search8】:
systemctl status nginx.service
輸出示例:
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2024-01-10 14:30:45 CST; 2 days ago
Main PID: 1237 (nginx)
Tasks: 3 (limit: 4915)
Memory: 10.5M
CGroup: /system.slice/nginx.service
├─1237 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
├─1238 nginx: worker process
└─1239 nginx: worker process
3 定位服務(wù)安裝文件位置
3.1 通過進(jìn)程ID定位可執(zhí)行文件
獲取進(jìn)程PID:
ps -ef | grep nginx # 或使用pgrep pgrep nginx
通過/proc文件系統(tǒng)查看:
ls -l /proc/1237/exe # 或使用readlink獲取真實(shí)路徑 readlink -f /proc/1237/exe
使用lsof命令:
lsof -p 1237 | grep txt
3.2 通過包管理器查詢安裝文件
RPM系統(tǒng)(CentOS/RHEL/Fedora):
# 查看軟件包安裝的所有文件 rpm -ql nginx # 查看未安裝包將安裝的文件 rpm -qpl nginx-package.rpm
Debian系統(tǒng)(Ubuntu/Debian):
# 查看軟件包安裝的所有文件 dpkg -L nginx # 查看未安裝包將安裝的文件 dpkg -c nginx-package.deb
3.3 使用which和whereis命令
# 查找可執(zhí)行文件路徑 which nginx # 查找二進(jìn)制文件、源文件和幫助文檔位置 whereis nginx
4 高級(jí)技巧與實(shí)用方法
4.1 查看服務(wù)配置文件位置
# 對(duì)于systemd服務(wù) systemctl show nginx --property=FragmentPath # 查看環(huán)境文件位置 systemctl show nginx --property=EnvironmentFile
4.2 使用pstree查看進(jìn)程樹
# 顯示進(jìn)程樹及PID pstree -p | grep nginx # 顯示完整命令行參數(shù) pstree -a | grep nginx
4.3 查找服務(wù)相關(guān)所有文件
# 結(jié)合find命令查找相關(guān)文件 find / -name "*nginx*" 2>/dev/null # 查找配置文件 rpm -qc nginx # RPM系統(tǒng) dpkg -L nginx | grep -E '\.conf$' # Debian系統(tǒng)
5 應(yīng)用示例
定位Nginx服務(wù)
查看服務(wù)狀態(tài):
systemctl status nginx
獲取主進(jìn)程PID(假設(shè)為1237)
定位可執(zhí)行文件:
readlink -f /proc/1237/exe # 輸出:/usr/sbin/nginx
查找配置文件:
rpm -qc nginx # 或 dpkg -L nginx | grep conf
列出所有安裝文件:
rpm -ql nginx # 或 dpkg -L nginx
6 常見問題與解決方案
| 問題 | 解決方案 |
|---|---|
| 權(quán)限不足 | 使用sudo執(zhí)行命令或切換到root用戶 |
| 找不到服務(wù) | 確認(rèn)服務(wù)名稱是否正確,使用通配符搜索 |
| 符號(hào)鏈接問題 | 使用readlink -f獲取真實(shí)路徑 |
| 容器環(huán)境 | 在容器內(nèi)執(zhí)行相同命令或使用docker inspect |
到此這篇關(guān)于一文詳解Linux如何查詢服務(wù)和定位可執(zhí)行文件的文章就介紹到這了,更多相關(guān)Linux查詢服務(wù)和定位可執(zhí)行文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
linux服務(wù)器上創(chuàng)建python虛擬環(huán)境過程
在Linux服務(wù)器上創(chuàng)建Python虛擬環(huán)境時(shí),由于需要更高版本的Python(如3.10.0),首先確保openssl版本符合要求,如果openssl版本不足,需要升級(jí),升級(jí)openssl后,設(shè)置環(huán)境變量,并在編譯安裝Python時(shí)指定openssl版本,最后,創(chuàng)建并激活Python虛擬環(huán)境2025-03-03
通過yum升級(jí)CentOS/RHEL最小化安裝的方法
下面小編就為大家?guī)硪黄ㄟ^yum升級(jí)CentOS/RHEL最小化安裝的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12
Apache ab并發(fā)負(fù)載壓力測試實(shí)現(xiàn)方法
Apache的ab命令模擬多線程并發(fā)請(qǐng)求,測試服務(wù)器負(fù)載壓力,也可以測試nginx、lighthttp、IIS等其它Web服務(wù)器的壓力2019-09-09
linux free命令以及系統(tǒng)內(nèi)存占用過高的處理方式
這篇文章主要介紹了linux free命令以及系統(tǒng)內(nèi)存占用過高的處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05

