Como matar um processo PHP e excluir o arquivo não visível?

2

Estou tentando excluir um arquivo no servidor, mas o PHP ainda está ocupado nele e não vou permitir que eu o exclua ... O FTP diz que o SORRY não pode fazer isso:

> DELE ml.txt
< 550 ml.txt: Permission denied
> PORT 190,028,4,31,129,100

e

> SITE CHMOD 777 ml.txt
< 550 ml.txt: Operation not permitted

O que fazer para matar o processo ou excluir o arquivo?

    
por Sam 31.03.2011 / 01:57

3 respostas

1

tente, ssh = > faça login como root, tente renomear o arquivo e excluí-lo.

    
por 31.03.2011 / 01:59
1

Por que não basta parar o servidor da Web e reiniciar?

Se estiver executando o php diretamente, simplesmente use top para localizar o processo e eliminá-lo.

top | grep "php"

Encontre o ID do processo e, em seguida,

kill "processId"

ou ainda mais simples:

killall php
    
por 31.03.2011 / 02:17
1
  1. faça login como usuário normal em ssh
  2. digite su -
  3. ele solicitará a senha do root e, em seguida, insira isso.
  4. você precisa alterar o proprietário do arquivo por chown -r change_with_your_username:change_with_your_usergroup change_with_full_path_to_the_file
  5. tente excluí-lo por ftp ou ssh e ele deve funcionar.

se as etapas acima não funcionarem, tente isso

  1. se estiver bloqueado como no RCS (sistema de controle de revisão) ou SCCS (sistema de controle de código-fonte), você (esperançosamente proprietário) poderá desbloqueá-lo rcs -u YourFileName ver man rcs se estiver instalado em seu sistema. veja man sccs para aprender como desbloquear com sccs. infelizmente eu não sei.
  2. se o arquivo estiver em uso, você poderá vê-lo com fuser -m TheFileName ou o directoryName mantendo fuser como usuário do arquivo. veja man fuser para ver como matar o processo usando seu arquivo. Eu acho que é fuser -km FileName . melhor investigar você mesmo. Se você souber qual processo está usando seu arquivo, poderá finalizar o processo com o comando kill .
  3. use lsattr YourFileName para ver os atributos do seu arquivo. pode ser definido como imutável ou undeletable com o comando chattr -i filename ou chattr -u filename , portanto, você pode fazer o oposto com chattr +i +u filename see man chattr ou man lsattr para obter mais detalhes. chattr e lsattr vêm com sistemas mais novos. meu fedora2 tem isso. sistemas mais antigos não fazem
por 31.03.2011 / 02:19