日志-解決Linux因target is busy無法卸載硬盤/分區的問題 - PHP持續占用分區

效果圖

寫在前面

此次遇到的問題是,php-fpm持續占用設備/mnt/disk1,強制殺死php所有進程后,依然會自動產生新的進程再次霸占分區,導致設備無法卸載umount。思路是解決誰在不停的搗亂。

步驟

核心:

掛載文件系統到指定的目錄

mount /dev/sdb /mnt/xxx

卸載已掛載的文件系統?,支持通過設備名或掛載點指定目標

umount /dev/sdb

查看占用此設備的所有進程:

fuser -mv /mnt/xxx

殺死占用此設備的所有進程:

fuser -kv /mnt/xxx

如果 PHP 是通過 PHP-FPM 運行的,直接停止服務:

sudo systemctl stop php-fpm

或者

sudo service php-fpm stop

如果 PHP 進程是由 Web 服務器(如 Nginx/Apache)管理的,可以嘗試:

sudo pkill -9 php

PHP 通常與 Web 服務器關聯,停止 Web 服務可以徹底阻止 PHP 進程重啟:

sudo systemctl stop nginx

sudo systemctl stop apache2

某些 PHP 腳本可能由 supervisord 或 cron 自動重啟,需檢查:

sudo systemctl stop supervisord

如果 PHP 進程仍自動重啟,查看日志:

sudo journalctl -u php-fpm --no-pager | tail -n 50

具體:

root@amd-desktop:~# df -Th
文件系統       類型      大小  已用  可用 已用% 掛載點
tmpfs          tmpfs     4.7G  2.5M  4.7G    1% /run
/dev/sdc2      ext4      228G   32G  185G   15% /
tmpfs          tmpfs      24G   16K   24G    1% /dev/shm
tmpfs          tmpfs     5.0M  4.0K  5.0M    1% /run/lock
efivarfs       efivarfs  128K   54K   70K   44% /sys/firmware/efi/efivars
/dev/sda       ext4      3.6T  467G  3.0T   14% /mnt/ubuntu
/dev/sdc1      vfat      511M  6.1M  505M    2% /boot/efi
tmpfs          tmpfs     4.7G  108K  4.7G    1% /run/user/1000
tmpfs          tmpfs     4.7G   60K  4.7G    1% /run/user/0
/dev/sdb       ext4      1.8T  108G  1.6T    7% /mnt/disk1
root@amd-desktop:~# umount /dev/sdb
umount: /mnt/disk1: target is busy.
root@amd-desktop:~# 
root@amd-desktop:~# fuser -vm /mnt/disk1用戶     進程號 權限   命令
/mnt/disk1:          root     kernel mount /mnt/disk1www       521558 ..c.. phpwww       521559 ..c.. php80www       526950 ..c.. php
root@amd-desktop:~# kill -9 521558 521559 526950
-bash: kill: (526950) - 沒有那個進程
root@amd-desktop:~# 
root@amd-desktop:~# fuser -vm /mnt/disk1用戶     進程號 權限   命令
/mnt/disk1:          root     kernel mount /mnt/disk1www       527907 ..c.. phpwww       527908 ..c.. php80www       528013 ..c.. php
root@amd-desktop:~# 
root@amd-desktop:~# umount /dev/sdb
umount: /mnt/disk1: target is busy.
root@amd-desktop:~# fuser -kv /mnt/disk1用戶     進程號 權限   命令
/mnt/disk1:          root     kernel mount /mnt/disk1
root@amd-desktop:~# umount /dev/sdb
umount: /mnt/disk1: target is busy.
root@amd-desktop:~# 
root@amd-desktop:~# sudo systemctl stop php-fpm
Failed to stop php-fpm.service: Unit php-fpm.service not loaded.
root@amd-desktop:~# service php-fpm stop
Failed to stop php-fpm.service: Unit php-fpm.service not loaded.
root@amd-desktop:~# 
root@amd-desktop:~# killall php
root@amd-desktop:~# 
root@amd-desktop:~# umount /dev/sdb
umount: /mnt/disk1: target is busy.
root@amd-desktop:~# 
root@amd-desktop:~# fuser -vm /mnt/disk1用戶     進程號 權限   命令
/mnt/disk1:          root     kernel mount /mnt/disk1www       532244 ..c.. phpwww       532249 ..c.. php80www       532663 ..c.. phpwww       532679 f.c.. php
root@amd-desktop:~# 
root@amd-desktop:~# echo '嘗試停止nginx、apache、甚至停止寶塔面板,依然占用'
嘗試停止nginx、apache、甚至停止寶塔面板,依然占用
root@amd-desktop:~# 
root@amd-desktop:~# echo '檢查是否有守護進程或自動重啟機制,某些 PHP 腳本可能由 supervisord 或 cron  自動重啟'
檢查是否有守護進程或自動重啟機制,某些 PHP 腳本可能由 supervisord 或 cron 自動重啟
root@amd-desktop:~# 
root@amd-desktop:~# sudo systemctl stop supervisord
root@amd-desktop:~# 
root@amd-desktop:~# fuser -vm /mnt/disk1用戶     進程號 權限   命令
/mnt/disk1:          root     kernel mount /mnt/disk1
root@amd-desktop:~# 
root@amd-desktop:~# umount /dev/sdb
root@amd-desktop:~# 

ending...

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/89542.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/89542.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/89542.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux系統權限維持篇

Openssh后門 重新安裝自定義的openssh,達到記錄賬戶密碼,也可以采用萬能密碼連接的功能 1、登錄方式 2、登錄軟件 3、登錄機制 環境準備 yum -y install openssl openssl-devel pam-devel zlib zlib-devel yum -y install gcc gcc-c makewget http://c…

spring中maven缺少包如何重新加載,報錯java: 程序包org.springframework.web.reactive.function不存在

錯誤原因分析 java: 程序包org.springframework.web.reactive.function不存在 這個錯誤是由于 項目中缺少 Spring WebFlux 相關依賴 導致的。org.springframework.web.reactive.function 包屬于 Spring WebFlux 模塊(用于響應式 Web 開發),如…

Linux--線程池

目錄 Linux線程池 線程池的概念 線程池的優點 線程池的應用場景 線程池的實現 Linux線程池 線程池的概念 線程池是一種線程的使用模式。 其存在的主要原因就為:線程過多會帶來調度開銷,進而影響緩存局部性和整體性能。而線程池維護著多個線程&#…

mars3d (基于 Cesium 的輕量化三維地圖庫)

mars3d 是什么? Mars3D 作為基于 Cesium 的輕量化框架,正以其簡潔的 API 和強大的功能重新定義開發體驗。它不僅解決了原生 Cesium 學習曲線陡峭的問題,還通過封裝和優化實現了性能與易用性的雙重突破。無論是智慧城市、低空經濟還是軍事仿真,Mars3D 都能提供高效的三維可視…

uniapp 中使用路由導航守衛,進行登錄鑒權

前言: 在uniapp 使用中,對于登錄界面可能需要路由守衛進行方便判斷跳轉,以下有兩種方案,可以判斷用戶跳轉的時候是否是登錄狀態 方案一: 1. 可以使用插件 hh-router-guard 2. 使用 uni-simpe-route 方案二: 使用通過uni提供的攔截器實現, uni.addInterceptor 1.新建in…

Leetcode 262. 行程和用戶

1.題目基本信息 1.1.題目描述 表:Trips ----------------------- | Column Name | Type | ----------------------- | id | int | | client_id | int | | driver_id | int | | city_id | int | | status | enum | | request_at | varchar | -----------…

P1102 A-B 數對

P1102 A-B 數對 題目背景 出題是一件痛苦的事情! 相同的題目看多了也會有審美疲勞,于是我舍棄了大家所熟悉的 A+B Problem,改用 A-B 了哈哈! 題目描述 給出一串正整數數列以及一個正整數 C C C,要求計算出所有滿足 A ? B = C A - B = C A?B=C 的數對的個數(不同…

devextreme-vue的DxDataGrid如何顯示行號列

devextreme-vue我使用的是23.2版本,其DxDataGrid如何顯示行號列,官方一直沒有方案。 DataGrid - How to display a row number in data rows in Angular | DevExpress Support dxDataGrid - provide capability to display a column with row numbers …

【設計模式06】建造者模式

前言 沒什么用,類似于builder.build UML類圖 代碼示例 package com.sw.learn.pattern.B_create.e_builder;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();for …

datax-web報錯:連接數據庫失敗. 請檢查您的 賬號、密碼、數據庫名稱、IP、Port或者向 DBA 尋求幫助(注意網絡環境)

文章目錄 一、報錯內容二、解決方法 一、報錯內容 背景描述: 在linux安裝了datax202309版本及datax-web2.1.2版本,datax與datax-web默認都是mysql5.x版本的。我的數據庫是mysql8.x版本的。 在datax中執行json腳本從一個mysql導入mysql沒問題&#xff0…

C#調用C++導出的dll怎么調試進入C++ DLL源碼

第一步:首先需要打開C源碼,不需要任何設置,直接下斷點,然后將生成DLL目錄改成到C# exe生成目錄里面 第二步:打開winform項目,然后在C#項目屬性->啟用本地代碼調試勾選后即可 最后在C#下斷點F10或者F11…

Skyeye 云智能制造辦公系統 - Saas v3.16.10 發布

Skyeye 云智能制造,采用 Springboot (微服務) Layui UNI-APP Ant Design Vue 的低代碼平臺。包含 30 多個應用模塊、50 多種電子流程,CRM、PM、ERP、MES、ADM、EHR、筆記、知識庫、項目、門店、商城、財務、多班次考勤、薪資、招聘、云售后、論壇、公…

pdf 合并 python實現(已解決)

在Python中,可以使用多種庫來合并PDF文件,其中最常用的是PyPDF2和PyMuPDF(又名fitz)。下面我將分別介紹如何使用這兩個庫來合并PDF文件。 使用PyPDF2 首先,你需要安裝PyPDF2。可以使用pip來安裝: 先按照庫…

VCenter SSL過期,登錄提示HTTP 500錯誤解決辦法

報錯圖: 1. 開啟 VCenter ssh遠程連接 登錄vmware esxi,雙擊打開VCenter 控制臺黑窗口,根據提示按F2鍵 兩次,打開系統設置(有fn鍵使用fnF2鍵) 輸入root密碼,按回車登錄 選擇“Troubleshooting …

Linux 下安裝Oracle 11gR2 x64 netca啟動不了

前言 Oracle Network Configuration Assistant (netca) 是 Oracle 提供的圖形化網絡配置工具,用于簡化 Oracle 數據庫網絡組件的配置和管理。 核心功能 1、配置監聽器 (LISTENER)創建、修改或刪除數據庫監聽器(默認端口 1521)定義監聽協議…

Pytorch1線性代數實現

Pytorch --線性代數實現 矩陣 正如向量將標量從零階推廣到一階,矩陣將向量從一階推廣到二階。 矩陣,我們通常用粗體、大寫字母來表示 (例如,𝑋、𝑌和𝑍), 在代碼中表示…

行業分享丨泛亞汽車數字化轉型實踐:虛擬仿真技術如何賦能汽車研發的創新實踐?

隨著汽車行業向智能化、電動化快速轉型,虛擬仿真技術正成為推動產品研發變革的核心驅動力。作為行業技術先鋒,泛亞汽車通過系統性布局,構建了完整的虛擬仿真技術體系,并總結出三個關鍵方向:打造數字化研發體系、探索精…

【硬核數學】4. AI的“尋路”藝術:優化理論如何找到模型的最優解《從零構建機器學習、深度學習到LLM的數學認知》

歡迎來到本系列的第四篇文章。我們已經知道,訓練一個AI模型,本質上是在尋找一組參數,使得描述模型“有多差”的損失函數 L ( θ ) L(\theta) L(θ) 達到最小值。微積分給了我們強大的工具——梯度下降,告訴我們如何一步步地向著最…

springboot切面編程

SpringBoot切面編程 眾所周知,spring最核心的兩個功能是aop和ioc,即面向切面和控制反轉。本文會講一講SpringBoot如何使用AOP實現面向切面的過程原理。 何為AOP AOP(Aspect OrientedProgramming):面向切面編程&…

【Redis#4】Redis 數據結構 -- String類型

一、前言 1. 基本概念 理解:字符串對象是 Redis 中最基本的數據類型,也是我們工作中最常用的數據類型。redis中的鍵都是字符串對象,而且其他幾種數據結構都是在字符串對象基礎上構建的。字符串對象的值實際可以是字符串、數字、甚至是二進制&#xff0…