Небольшое изменение в ответе vog для включения обработчика по умолчанию для других методов как ОПЦИИ ПОМЕСТИТЕ, и т.д.
upstream webdav_default {
server example.com;
}
upstream webdav_upload {
server example.com:8081;
}
upstream webdav_download {
server example.com:8082;
}
server {
map upstream_location $request_method {
GET webdav_download;
HEAD webdav_download;
PUT webdav_upload;
LOCK webdav_upload;
default webdav_default;
}
location / {
proxy_pass https://$upstream_location;
}
}
Создание, которое символьная ссылка должна добиться цели, однако, было бы более полезно, если бы мы знали болезнь а не признак. Что точно Вы пытаетесь сделать? Поскольку может быть лучший путь
gnuix@defiant)-(08:11pm-:-06/10)--
(~)./0012
my weird program name
PID TTY TIME CMD
7805 pts/1 00:00:00 zsh
14020 pts/1 00:00:00 0012
14021 pts/1 00:00:00 ps
(gnuix@defiant)-(08:11pm-:-06/10)--
(~)ln -s 0012 weird
(gnuix@defiant)-(08:12pm-:-06/10)--
(~)./weird
my weird program name
PID TTY TIME CMD
7805 pts/1 00:00:00 zsh
14046 pts/1 00:00:00 weird
14047 pts/1 00:00:00 ps
(gnuix@defiant)-(08:12pm-:-06/10)--
(~)
Обновление: На основе дополнительной информации Вы могли (я быть уверенным, что существует более легкий путь, но не прибытие ко мне в данный момент), имеют Ваши серверы, выписывают их PID в файл после запуска, затем Вы могли уничтожить-9 | кошка/var/run/devserver.pid, но затем это будет вопросом о программировании :)
Обновите снова: Вы могли также сделать некоторый обман оболочки для получения PID серверов при запуске их первое, что пришло на ум Вы могли создать функцию оболочки, вызванную startmyserver, например, который перенесет команду, которую Вы используете для запуска серверов, но также и $ получения! в файл, основанный на имени запуска - затем, мы говорим о сценариях оболочки, которые являются 'в пределах поля' ServerFault.:-)
Вы могли переименовать двоичный файл, который Вы собираетесь выполнить. Вы могли бы уйти просто с помощью символьной ссылки на двоичный файл.
Если Вы действительно хотите изменить имя, лучший способ состоит в том, чтобы использовать простую обертку, которая устанавливает argv и затем должностных лиц процесс, который Вы хотите выполнить. Не имейте времени, чтобы дать Вам некоторый пример кода теперь, но кричать громко приблизительно за 10 часов, и я буду видеть то, что я могу сделать.
Это действительно не принадлежит на ПОЭТОМУ, потому что это универсально, не конкретный вопрос языка.
Короткий ответ не легко. Таким образом, это не может быть сделано из функциональности Вашей оболочки или procfs/sysfs. Необходимо будет использовать внешнюю утилиту для достижения его.
Существует длинное описание на как и почему здесь. Остерегайтесь это - симпатичный C-centric.
Обновление:
Они - Python, который изменяет игру. Теперь не будучи также Так, вероятно, было бы легче изменить их для использования этого модуля или аналогичного подхода.
Посмотрите https://github.com/electrum/procname . Он позволяет вам установить имя процесса для любого процесса, используя переменную среды.
Использование:
Запуск Java с установленными переменными среды LD_PRELOAD и PROCNAME:
LD_PRELOAD = / path / to / libprocname.so PROCNAME = привет java -jar foo.jar