Описание тега philadelphia
Процесс отвечает за управление собственный текущий каталог. Нет никакого способа, чтобы изменить его извне.
Можно схитрить, сделав процесс изменения своего собственного каталога. Если вы работаете как root, или же пользователь как процесс, можно использовать в ptrace
системный вызов, чтобы делать всевозможные вещи инвазивного процесса, включая изменение его памяти под носом и выполнения системных вызовов. Это то, что отладчики использовать.
Относиться к этому как к экспериментальной хирургической операции. Пациент может проснуться невредимым или умереть. Это должно работать, если процесс на самом деле не волнует, что ее текущий каталог. Программа, которая имеет интимные отношения с его текущей директории, такие как снаряд, вряд ли выживет.
Вот скрипт я использовал в прошлом, чтобы двигаться процессов из висел монтирование по NFS. Используйте на свой страх и риск.
#!/Бен/ш
если [ $# -нэ 2 ]; тогда
Эхо 1>&2 "Использование: $0 ПИД реж"
выход 120
интернет
дело "$1" в
*[!0-9]*) " Эхо " 1>&2 "неверный пид \`$1'"; выход 3;;
эсок
дело "$2" в
*[\\\"]*)
Эхо 1>&2 "неподдерживаемых символов в имени каталога, к сожалению."
выход 3;;
эсок
ГДБ -Н -пид "$1" -замес -х к /dev/stdin с <<ВФ
позвонить оператор chdir("$2")
отстегнуть
бросить
ВФ