Да, использование -P
опция pgrep
,
т.е. pgrep -P 1234
получит Вас список идентификаторов дочернего процесса.
, что оказалось проще, как можно подумать. Переменная MC_HOME может быть установлена на альтернативный путь перед запуском MC. Человек страницы не то, что вы можете найти ответ прямо сейчас =)
Вот как это работает: - Обычный путь
[jsmith@wstation5 ~]$ mc -F
Root directory: /home/jsmith
[System data]
<skipped>
[User data]
Config directory: /home/jsmith/.config/mc/
Data directory: /home/jsmith/.local/share/mc/
skins: /home/jsmith/.local/share/mc/skins/
extfs.d: /home/jsmith/.local/share/mc/extfs.d/
fish: /home/jsmith/.local/share/mc/fish/
mcedit macros: /home/jsmith/.local/share/mc/mc.macros
mcedit external macros: /home/jsmith/.local/share/mc/mcedit/macros.d/macro.*
Cache directory: /home/jsmith/.cache/mc/
и альтернативный способ:
[jsmith@wstation5 ~]$ MC_HOME=/tmp/MCHOME mc -F
Root directory: /tmp/MCHOME
[System data]
<skipped>
[User data]
Config directory: /tmp/MCHOME/.config/mc/
Data directory: /tmp/MCHOME/.local/share/mc/
skins: /tmp/MCHOME/.local/share/mc/skins/
extfs.d: /tmp/MCHOME/.local/share/mc/extfs.d/
fish: /tmp/MCHOME/.local/share/mc/fish/
mcedit macros: /tmp/MCHOME/.local/share/mc/mc.macros
mcedit external macros: /tmp/MCHOME/.local/share/mc/mcedit/macros.d/macro.*
Cache directory: /tmp/MCHOME/.cache/mc/
Используйте случай этой функции:
Вы должны поделиться одно и то же имя пользователя на удаленном сервере (доступ к ключам RSA) и хотите использовать ваш любимый MC Конфигурация с перезаписью. Одновременные сеансы не мешают друг другу.
Это работает хорошо, как часть SSHRC-подхода, описанного в https://github.com/russell91/sshrc
Если вы имеете в виду, что хотите иметь возможность запускать два экземпляра mc от одного и того же пользователя одновременно с разными каталогами конфигурации, насколько я могу судить, вы не можете. Путь жестко закодирован.
Однако, если вы имеете в виду, что хотите иметь возможность переключать, какой из каталогов config используется, то вот вам идея (проверено, работает). Вы, вероятно, хотите сделать это без запуска mc:
$HOME/mc_conf
, с поддиректорией, one
. $HOME/.config/mc
в $HOME/mc_conf/один
подкаталог один
каталог в виде $HOME/mc_conf/two
. Создайте скрипт, $HOME/bin/switch_mc
:
#!/bin/bash
configBase=$HOME/mc_conf
linkPath=$HOME/.config/mc
если [ -z $1 ] || [ ! -e "$configBase/$1" ]; тогда
эхо "Требуется достоверное имя субдиректории".
выход 1
убойный макияж
объём оборотов $linkPath
ln -sv $configBase/$1 $linkPath
Запустите это, switch_mc one
. rm
не будет лаять о таком файле, это не имеет значения.
Надеюсь, там всё ясно - это устанавливает путь к каталогу config как симлинк. Что бы вы сейчас ни изменили и сохранили конфигурацию, это будет в каталоге one
. Затем вы можете выйти и switch_mc two
, вернуться к старой конфигурации, затем снова запустить mc, внести изменения и сохранить их, и т.д.
Вам может сойти с рук удаление killall mc
и проигрывание; конфигурационный материал находится в файле ini
, который считывается при запуске (таким образом, вы не можете включить его "на лету"). Затем он не трогается до выхода, если вы не "Save setup", но при выходе может быть перезаписан, так что опасность здесь заключается в том, что вы удалите что-то, что вы сделали ранее или за пределами запущенного экземпляра.