Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
Страниц: [1] 2 3 4 ... 10
 1 
 : 03-08-2020 10:39 
Автор VladimirT - Последний ответ от VladimirT
В Кибор появилась возможность использовать Python.

Возможно выполнение скрипта с файла, вызов функций Питона с файлов.
Так же возможно выполнение отдельных команд Питона в коде Кибор и взаимный обмен данными.
Скрипт Питона можно запускать синхронно и асинхронно с выполнением скрипта Кибор.

Описание новых функций:
Цитата
runpython()
Запускает интерпретатор Питон.
Возвращает 1 при удачном запуске
0 при неудаче.

Цитата
closepython()
Завершает работу с интерпретатором.
Возвращает 1 если завершил работу.
0 если интерпретатор не был запущен.

Цитата
wpython("print(^'yes^')");
Отправляет Питону команду print('yes') и нажимает Ентер. Не синхронная. Не ждет окончания команды.
Возвращает 1 при удаче.

Цитата
rpython()
Считывает последний ответ с Питона.
Возвращает string.
То есть если перед этим мы отправили print('yes'), то прочитаем yes
Данная функция может считать ответ только один раз. При повторных попытках считывания или если Питон не готов выдать ответ (выполняет какую то задачу) эта функция вернет ERROR_READ_PYTHON

Цитата
wrpython("print(^'yes^')");
Посылает Питону print('yes') и сразу же получает ответ. Возвращает string. В данном случае yes.. Синхронная. После отправки ждет отработки кода и получения ответа.
Синхронность работы не распространяется на вызов Питон функций.

Цитата
fpython("C:\Program Files (x86)\Kibor\script.txt")
Считывает скрипт Питона с файла и выполняет его. Ответ, если есть необходимость надо получать так же как и в случае wpython функцией rpython
В файле допускаются функции и их вызов.
Перевод срока в файле является Ентером.

Примеры запуска скриптов Питона в Кибор

 2 
 : 29-06-2020 12:47 
Автор RXL - Последний ответ от RXL
Тема перенесена в Ищем работника.

https://forum.shelek.ru/index.php?topic=31426.0

 3 
 : 19-06-2020 22:38 
Автор dronloko - Последний ответ от Ochkarik
 Класс!

 4 
 : 15-06-2020 10:02 
Автор dronloko - Последний ответ от dronloko
Добрый день!
Сделал всё по Вашей инструкции, получилось! Большое спасибо)

 5 
 : 12-06-2020 01:50 
Автор WWX - Последний ответ от RXL
Обычно общие сервисы стартуют от рута, делают свои темные дела и меняют пользователя на безопасного. Т.е. на старте могут многое. От пользователя непосредственно такое не запускают, но пользователю может быть доступен запуск сервиса.

 6 
 : 11-06-2020 20:40 
Автор WWX - Последний ответ от WWX
Спасибо за ответы / наводки. Поизучаю.

Но есть один момент: приложение в общем случае может запускаться от разных пользователей.
Соответственно синхронизация должна проходить между процессами, запущенными разными пользователями.

В идеале было бы найти директорию доступную для записи для любого пользователя, очищающуюся после перезагрузки.

 7 
 : 10-06-2020 21:55 
Автор dronloko - Последний ответ от Ochkarik
вечер добрый)
попробуйте инструкцию с оригинального форума. сравнивать вашей не стал - вам сподручнее будет.
обратите внимание на Boot Parameters to Enable Debugging и  BCDEdit /dbgsettings
не совсем понял - вы вроде указывается serial отладку а в отладчике ставите bcdedit /dbgsettings net?

 8 
 : 10-06-2020 21:15 
Автор WWX - Последний ответ от RXL
Гуглеж указывает на pam_systemd и systemd-logind.service.

 9 
 : 10-06-2020 18:09 
Автор WWX - Последний ответ от RXL
В директорию /run в современных версия Линукса монтируется temfs. Рамдиск. По этому разница между /run и /tmp есть.
Обычному пользователю надо писать в /run/user/<UID>/ или в соотв. /var/... При создании сессии там создаются директории. Во всяком случае Debian-подобные так делают, почему-то за RHEL такое не заметил. Как и кто это создает, не знаю, не разбирался, но пользовался этим персональным рамдисом не раз.

 10 
 : 10-06-2020 14:05 
Автор WWX - Последний ответ от darkelf
В Ubuntu в директории /var/lock (которая на самом деле является ссылкой на /run/lock) у меня создаются файлы блокировок нолевой длины для синхронизации общего доступа через ф-цию flock.
Всё работает с обычными пользовательскими правами.

Обнаружилось, что в CentOS 7 директория /run/lock имеет права rwxr-xr-x, т.е. обычный пользователь уже не имеет возможность создать там файл блокировки.

Просто для уточнения - первые rwx - это права владельца, вторые r-x - права группы, а третьи - всех остальных. Если Ваш пользователь вдруг окажется владельцем, то это будут его права.

Но есть возможность создавать файлы блокировок в директории /var/tmp.

Насколько правильно так делать? И где вообще полагается создавать файлы блокировок для ф-ции flock?

В принципе, Вы можете их создавать где угодно, главное чтобы искали потом тоже в тех-же местах. Как вариант - можете использовать переменную окружения XDG_RUNTIME_DIR и в каталоге, который там указан создавать свои файлы, соответственно эти блокировки будут работать только для данного конкретного пользователя.

PS: тут нашлось полное теоретическое обоснование.

Страниц: [1] 2 3 4 ... 10
Powered by SMF 1.1.21 | SMF © 2015, Simple Machines