|   |   | 
| 
 | Как в Linux в коде 1С получить командную строку с которой запущен текущий процесс? | ☑ | ||
|---|---|---|---|---|
| 0
    
        TormozIT гуру 25.04.21✎ 08:33 | 
        У меня линукса нет. Но хочу добавить его поддержку программе на 1С.
 Как в Linux в коде 1С получить командную строку с которой запущен текущий процесс? | |||
| 1
    
        Кирпич 25.04.21✎ 08:55 | 
        А в windows как?     | |||
| 2
    
        Biker 25.04.21✎ 08:56 | 
        (0) скрипт надо, найти id процесса и по нему вынуть  
 cat /proc/<pid>/cmdline | |||
| 3
    
        TormozIT гуру 25.04.21✎ 09:01 | 
        (2) Пример результата этой команды есть?
 Как pid определить? | |||
| 4
    
        Biker 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 | |||
| 5
    
        TormozIT гуру 25.04.21✎ 09:07 | 
        (4) Че т не понял. Символ "-" в линуксе не может быть частью имени файла или кто то удалил пробелы?     | |||
| 6
    
        Biker 25.04.21✎ 09:09 | 
        (5) кто-то удалил, перед -, пробелы     | |||
| 7
    
        TormozIT гуру 25.04.21✎ 09:13 | 
        (6) Можешь у того, кто удалил, попросить оригинальный результат команды?     | |||
| 8
    
        TormozIT гуру 25.04.21✎ 09:15 | 
        Следующий шаг - получить в коде 1С в linux результат консольной команды. Есть пример или готовый универсальный код?     | |||
| 9
    
        GANR 25.04.21✎ 09:22 | 
        (3) ps -e | grep -i 1c что получится?     | |||
| 10
    
        TormozIT гуру 25.04.21✎ 09:24 | 
        (9) Если ты меня спрашиваешь, то что из слов "У меня линукса нет" (0) тебе не понятно?     | |||
| 11
    
        acht 25.04.21✎ 09:29 | 
        (8) Через перенаправление вывода в файл и чтение его из 1С. Готовый универсальный код.     | |||
| 12
    
        acht 25.04.21✎ 09:30 | 
        (0) > У меня линукса нет. Но хочу добавить его поддержку 
 Оно так не работает, к сожалению. Надо поставить, чтобы хотя бы проверить свои труды. | |||
| 13
    
        TormozIT гуру 25.04.21✎ 09:48 | 
        (12) К счастью, работает, когда есть заинтересованные пользователи.     | |||
| 14
    
        Biker 25.04.21✎ 09:50 | 
        (7) Посмотрел, там вместо пробела (hex 20)  нуль (hex 00) выводит 
 накидал код, работает, но вывод надо разбирать, ругается на 00 , функции из БСП ПараметрыЗапускаПрограммы = ФайловаяСистема.ПараметрыЗапускаПрограммы(); ПараметрыЗапускаПрограммы.ДождатьсяЗавершения = Истина; ПараметрыЗапускаПрограммы.ПолучитьПотокВывода = Истина; КомандаЗапуска = Новый Массив; КомандаЗапуска.Добавить("cat"); КомандаЗапуска.Добавить("/proc/$PPID/cmdline"); Результат = ФайловаяСистема.ЗапуститьПрограмму(КомандаЗапуска, ПараметрыЗапускаПрограммы); ОбщегоНазначения.СообщитьПользователю(Результат.ПотокВывода); | |||
| 15
    
        Biker 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     | |||
| 16
    
        TormozIT гуру 25.04.21✎ 09:56 | 
        (14) Спасибо. Уже большая часть задачи решена. 
 Остается понять как PID определить и желательно наджено. Поиск в списке процессов по имени файла - не очень надежным кажется. | |||
| 17
    
        acht 25.04.21✎ 09:58 | 
        (13) Отладка на пользователях продуктива, как это по 1Сному.     | |||
| 18
    
        Biker 25.04.21✎ 09:58 | 
        (16) дак яж тебе дал уже рабочий код, ничего больше не надо определять.
 $PPID - это как раз переменная окружения текущего процесса. | |||
| 19
    
        TormozIT гуру 25.04.21✎ 09:59 | 
        (18) Теперь понял.     | |||
| 20
    
        GANR 25.04.21✎ 11:44 | 
        (10) Не понятно в чем проблема поставить - выкачать ISO-образ системы и в VirtualBox установить. Ubuntu, к примеру, реально проще чем Windows ставить, можно и CentOS.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |