ad.php文件删除不掉,linux处理

zblog1年前zblog问题解答52

1、   lsof | grep ad.php 

如果文件正在被某个进程使用,那么它可能无法被删除。你可以使用 lsof 或 fuser 命令来查找哪个进程在使用该文件:

lsof | grep ad.php

fuser ad.php


结果:

lsof | grep ad.php tamper_pr  8631          root   18w      REG              253,0         72 1637078917 /www/wwwroot/XXX.com/ad.php (deleted) tamper_pr  8631          root   19w      REG              253,0         72 1637078928 /www/wwwroot/XXX.com/ad.php tamper_pr  8631  8680    root   18w      REG              253,0         72 1637078917 /www/wwwroot/XXX.com/ad.php (deleted)

这是啥意思 哪个是进程

lsof | grep ad.php 命令用于列出当前系统中所有打开的文件,并过滤出包含 ad.php 的条目。从你提供的输出来看,有多个进程在访问或尝试访问名为 ad.php 的文件。以下是对每个字段的解释:

  • COMMAND: 进程的名称(例如 tamper_pr)。

  • PID: 进程 ID。

  • USER: 运行该进程的用户(例如 root)。

  • FD: 文件描述符(例如 18w19w),表示文件被以写模式打开。

  • TYPE: 文件类型(例如 REG 表示常规文件)。

  • DEVICE: 设备号(例如 253,0)。

  • SIZE/OFF: 文件大小或偏移量(例如 72)。

  • NODE: inode 编号(例如 1637078917)。

  • NAME: 文件名及其路径(例如 /www/wwwroot/zpdlsb.com/ad.php (deleted))。

从你的输出中可以看到,多个进程(PID)都在尝试访问同一个文件 ad.php,并且该文件已经被删除(标记为 (deleted))。具体来说:

    

这些条目表明:

  1. tamper_pr 进程(PID 8631)正在尝试访问 ad.php 文件,但该文件已被删除。

  2. tamper_pr 进程(PID 8680)和它的子进程(PID 8681)也在尝试访问相同的已删除文件。

哪个是进程?

  • tamper_pr 进程(PID 8631)

  • tamper_pr 进程(PID 8680)及其子进程(PID 8681)

这些进程都试图访问一个已经删除的文件 ad.php


2、 ps -p 8631 -o pid,ppid,cmd


怎么查看 tamper_pr  进程的 程序 或位置

要查看 tamper_pr 进程的详细信息,包括其程序或位置,可以使用以下几种方法:

(1) 使用 ps 命令

ps 命令可以显示当前运行的进程及其详细信息。你可以使用以下命令来查看特定进程的信息:

        sh复制代码ps -p 8631 -o pid,ppid,cmd

这将显示 PID 为 8631 的进程的父进程 ID (PPID) 和命令行信息 (CMD)。

(2) 使用 lsof 命令

lsof 命令可以列出打开的文件以及相关的进程信息。结合 grep 命令,你可以过滤出特定进程的信息:

        sh复制代码lsof -p 8631

这将显示 PID 为 8631 的所有打开文件及其相关信息。


ps -p 8631 -o pid,ppid,cmd

   PID   PPID CMD

  8631      1 /www/server/tamper_proof_refactored/tamper_proof_refactored

lsof -p 8631

COMMAND    PID USER   FD      TYPE             DEVICE  SIZE/OFF       NODE NAME

tamper_pr 8631 root  cwd       DIR              253,0      4096         96 /

tamper_pr 8631 root  rtd       DIR              253,0      4096         96 /

tamper_pr 8631 root  txt       REG              253,0  11460760 1639030216 /www/server/tamper_proof_refactored/tamper_proof_refactored

tamper_pr 8631 root    0r      CHR                1,3       0t0       2052 /dev/null

tamper_pr 8631 root    1u     unix 0xffff8cb33fd4b000       0t0      62293 socket

tamper_pr 8631 root    2u     unix 0xffff8cb33fd4b000       0t0      62293 socket

tamper_pr 8631 root    3w      REG              253,0     33569  548327872 /www/server/panel/plugin/tamper_proof_refactored/service.log

tamper_pr 8631 root    4u  a_inode               0,10         0      11110 [eventpoll]

tamper_pr 8631 root    5r     FIFO                0,9       0t0      15180 pipe

tamper_pr 8631 root    6w     FIFO                0,9       0t0      15180 pipe

tamper_pr 8631 root    7r  a_inode               0,10         0      11110 inotify

tamper_pr 8631 root    8u      REG              253,0   8736793  686965530 /www/server/panel/plugin/tamper_proof_refactored/tamper/data/backup/www.XXX.com_backup.zip


3、kill -9 8631 

终止占用文件的进程

再次尝试删除文件:


rm -f ad.php


  1.     

通过以上步骤,你应该能够解决大多数情况下无法删除文件的问题。



 

相关文章

# php 字符串 数组替换 批量替换

# php 字符串 数组替换 $arr = array("111" => "999"...

http?https?相对协议? // 相对协议  相对协议的主要作用是根据当前页面的协议(HTTP或HTTPS)来自动选择使用哪个协议来加载资源。

http?https?相对协议? // 相对协议 相对协议的主要作用是根据当前页面的协议(HTTP或HTTPS)来自动选择使用哪个协议来加载资源。

相对协议的主要作用是根据当前页面的协议(HTTP或HTTPS)来自动选择使用哪个协议来加载资源。当你在HTML中使用一个以//开头的URL时,浏览器会检查当前页面是通过HTTP还是HTTPS加载的,并...

zblog更新用户文章数量sql

我有两个表     zbp_member  和 zbp_post  ,zbp_post &...

【zblog用户】获取用户作者的 select option选项

<?php echo OutputOptionItemsOfMember(0);?> 参数0是默认选中的作者id 输出 <optio...

PHP 数组的一个随机值。 array_rand() 获取数组中的一个或多个随机键(索引)

# PHP没有直接提供一个内置函数来返回数组的一个随机值。不过,PHP 提供了一个内置函数 array_rand(),它可以用来获取数组中的一个或多个随机键(索引)。然后,您可以使用这些随机键来访问数...