Я пытаюсь удалить файл на сервере, но 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
Что делать, чтобы убить процесс или удалить файл?
su -
chown -r change_with_your_username:change_with_your_usergroup change_with_full_path_to_the_file
если вышеуказанные шаги не работают, попробуйте это
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
если это так, вы можете сделать наоборот с chattr +i +u filename
видеть man chattr
или man lsattr
для более подробной информации. chattr
и lsattr
приходят с более новыми системами. в моей Fedora2 он есть. старые системы неПочему бы просто не остановить веб-сервер и перезапустить?
Если вы запускаете php напрямую, просто используйте top, чтобы найти процесс и убить его.
top | grep "php"
Найдите идентификатор процесса, а затем
kill "processId"
или даже проще:
killall php
попробуйте, ssh => войдите в систему как root, попробуйте переименовать файл и затем удалить его.