我正在尝试删除服务器上的一个文件,但是 PHP 仍然很忙,不允许我删除它...FTP 说抱歉,无法执行:
> DELE ml.txt
< 550 ml.txt: Permission denied
> PORT 190,028,4,31,129,100
和
> SITE CHMOD 777 ml.txt
< 550 ml.txt: Operation not permitted
为了终止该进程或者删除该文件,我们该怎么做呢?
答案1
尝试,ssh => 以 root 身份登录,尝试重命名文件,然后将其删除。
答案2
为什么不直接停止网络服务器然后重新启动呢?
如果直接运行 php,只需使用 top 找到进程并将其终止。
top | grep "php"
找到进程 ID,然后
kill "processId"
或者更简单一点:
killall php
答案3
- 以普通用户身份登录 ssh
- 然后输入
su -
- 它会提示您输入 root 密码,然后输入该密码。
- 您需要通过以下方式更改文件的所有权
chown -r change_with_your_username:change_with_your_usergroup change_with_full_path_to_the_file
- 然后尝试通过 ftp 或 ssh 删除它,它应该可以工作。
如果上述步骤不起作用,请尝试此操作
- 如果它被锁定,如在 RCS(版本控制系统)或 SCCS(源代码控制系统)中,您(希望是所有者)可以解锁它,
rcs -u YourFileName
查看man rcs
它是否安装在您的系统中。请参阅man sccs
了解如何使用 sccs 解锁。不幸的是我不知道。 - 如果您的文件正在使用中,您可以使用
fuser -m TheFileName
或保存它的目录名称fuser
是文件用户来查看它。查看man fuser
如何终止使用您的文件的进程。我认为是的fuser -km FileName
。最好自己调查一下。如果您知道哪个进程正在使用您的文件,您可以使用kill
命令终止该进程。 - 用于
lsattr YourFileName
查看文件的属性。可以使用命令将其设置为不可变或不可删除chattr -i filename
,或者如果是这样,您可以使用查看或chattr -u filename
执行相反的操作以了解更多详细信息。并附带较新的系统。我的 fedora2 有它。旧系统没有chattr +i +u filename
man chattr
man lsattr
chattr
lsattr