Alterando o diretório de trabalho atual de um determinado processo

3

Posso alterar o diretório de trabalho atual de um determinado processo?

Por exemplo, estou executando um processo que tem o pid 1000. Agora, seu diretório de trabalho atual é ~ . Desejo alterar seu diretório de trabalho atual para ~/1 . Como posso fazer isso?

    
por v7d8dpo4 09.05.2016 / 12:20

1 resposta

4

Você pode usar o seguinte script ( encontrado aqui )

#!/bin/bash

pid="$1" # first arguvment is the PID
cwd="$2" # second argument is the target working directory

# now let's command the GNU debugger
gdb -q <<EOF
  attach $pid
  call (int) chdir("$cwd")
  detach
  quit
EOF

Chame isso passando o PID como o primeiro parâmetro e o diretório de trabalho de destino como o segundo.

Advertências: Isso pode ter conseqüências inesperadas no processo de destino, incluindo arquivos sendo fechados e informações enganosas fornecidas em prompts de shell, por exemplo.

Você também precisa do gdb instalado (obviamente).

    
por 09.05.2016 / 13:12

Tags