Вход | Регистрация
 

Как в Linux в коде 1С получить командную строку с которой запущен текущий процесс?

Как в Linux в коде 1С получить командную строку с которой запущен текущий процесс?
Я
   TormozIT
 
25.04.21 - 08:33
У меня линукса нет. Но хочу добавить его поддержку программе на 1С.
Как в Linux в коде 1С получить командную строку с которой запущен текущий процесс?
   Кирпич
 
1 - 25.04.21 - 08:55
А в windows как?
   Biker
 
2 - 25.04.21 - 08:56
(0) скрипт надо, найти id процесса и по нему вынуть  
cat /proc/<pid>/cmdline
   TormozIT
 
3 - 25.04.21 - 09:01
(2) Пример результата этой команды есть?
Как pid определить?
   Biker
 
4 - 25.04.21 - 09:05
(3) вот так должно получится cat /proc/$PPID/cmdline
вывод /opt/1cv8/x86_64/8.3.18.1363/rphost-range1560:1591-reghostИмяХоста-regport1541-pid436a356c-54bd-4d6c-9198-ea9f92a74fa2-debug-tcp
   TormozIT
 
5 - 25.04.21 - 09:07
(4) Че т не понял. Символ "-" в линуксе не может быть частью имени файла или кто то удалил пробелы?
   Biker
 
6 - 25.04.21 - 09:09
(5) кто-то удалил, перед -, пробелы
   TormozIT
 
7 - 25.04.21 - 09:13
(6) Можешь у того, кто удалил, попросить оригинальный результат команды?
   TormozIT
 
8 - 25.04.21 - 09:15
Следующий шаг - получить в коде 1С в linux результат консольной команды. Есть пример или готовый универсальный код?
   GANR
 
9 - 25.04.21 - 09:22
(3) ps -e | grep -i 1c что получится?
   TormozIT
 
10 - 25.04.21 - 09:24
(9) Если ты меня спрашиваешь, то что из слов "У меня линукса нет" (0) тебе не понятно?
   acht
 
11 - 25.04.21 - 09:29
(8) Через перенаправление вывода в файл и чтение его из 1С. Готовый универсальный код.
   acht
 
12 - 25.04.21 - 09:30
(0) > У меня линукса нет. Но хочу добавить его поддержку
Оно так не работает, к сожалению. Надо поставить, чтобы хотя бы проверить свои труды.
   TormozIT
 
13 - 25.04.21 - 09:48
(12) К счастью, работает, когда есть заинтересованные пользователи.
   Biker
 
14 - 25.04.21 - 09:50
(7) Посмотрел, там вместо пробела (hex 20)  нуль (hex 00) выводит

накидал код, работает, но вывод надо разбирать, ругается на 00 , функции из БСП

ПараметрыЗапускаПрограммы = ФайловаяСистема.ПараметрыЗапускаПрограммы();
ПараметрыЗапускаПрограммы.ДождатьсяЗавершения = Истина;
ПараметрыЗапускаПрограммы.ПолучитьПотокВывода = Истина;
КомандаЗапуска = Новый Массив;
КомандаЗапуска.Добавить("cat");
КомандаЗапуска.Добавить("/proc/$PPID/cmdline");

Результат = ФайловаяСистема.ЗапуститьПрограмму(КомандаЗапуска, ПараметрыЗапускаПрограммы);
ОбщегоНазначения.СообщитьПользователю(Результат.ПотокВывода);
   Biker
 
15 - 25.04.21 - 09:52
ПотокВывода=/opt/1cv8/x86_64/8.3.18.1363/rphost -range 1560:1591 -reghost ИмяХоста -regport 1541 -pid 436a356c-54bd-4d6c-9198-ea9f92a74fa2 -debug -tcp
   TormozIT
 
16 - 25.04.21 - 09:56
(14) Спасибо. Уже большая часть задачи решена.
Остается понять как PID определить и желательно наджено. Поиск в списке процессов по имени файла - не очень надежным кажется.
   acht
 
17 - 25.04.21 - 09:58
(13) Отладка на пользователях продуктива, как это по 1Сному.
   Biker
 
18 - 25.04.21 - 09:58
(16) дак яж тебе дал уже рабочий код, ничего больше не надо определять.
$PPID - это как раз переменная окружения текущего процесса.
   TormozIT
 
19 - 25.04.21 - 09:59
(18) Теперь понял.
   GANR
 
20 - 25.04.21 - 11:44
(10) Не понятно в чем проблема поставить - выкачать ISO-образ системы и в VirtualBox установить. Ubuntu, к примеру, реально проще чем Windows ставить, можно и CentOS.

Список тем форума
Рекламное место пустует  Рекламное место пустует
Основная теорема систематики: Новые системы плодят новые проблемы.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.