|
431 / 385 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
|
|
Как сделать демон (в линуксовом смысле этого слова) в Windows13.02.2012, 08:50. Показов 4664. Ответов 20
Метки нет (Все метки)
Сразу после запуска программа должна уходить в фон и сканировать определённый каталог на наличие файла с именем STOP.NOW. Как только он появился - программа завершает работу. Как это сделать?
0
|
|
| 13.02.2012, 08:50 | |
|
Ответы с готовыми решениями:
20
Как сделать чтобы c++ демон передавал данные в javascript frond-end? Почему не компилирует слова по русски, а выводит иероглифы какието? что для этого сделать надо? Вывести на экран те слова, которые отличны от последнего слова текста и первая буква этого слова входит в него еще раз |
|
|
||||||
| 13.02.2012, 10:40 | ||||||
|
Любая программа без окна, в цикле проверка наличия файла.
Простейший вариант
1
|
||||||
|
431 / 385 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
|
|
| 13.02.2012, 12:17 [ТС] | |
|
Спасибо! Но я так понял, что это лишь кусок программы. Логику я и так понимаю, хотелось бы ещё узнать, как именно сделать программу без окна. Впрочем, самое главное для меня - знать, что это вообще осуществимо. Как именно осуществлять - разберусь сам. Хотелось посмотреть, насколько это (не)удобно.
И если Вас не затруднит, скажите, можно ли сделать ещё так: написать две программы, одна из которых повторяет юниксовую команду tac, т.е. выдаёт на стандартный вывод то, что получает на стандартный ввод, но в обратном порядке. Вторая программа использует tac.exe для "перевёртывания" содержимого массива. То есть из одного экзешника должен запускаться другой, с получением результатов работы.
0
|
|
|
|
||||
| 13.02.2012, 13:52 | ||||
|
0
|
||||
|
431 / 385 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
|
||
| 13.02.2012, 14:27 [ТС] | ||
|
0
|
||
|
|
|||
| 13.02.2012, 14:59 | |||
![]() Так что надо то? Организовать ввод текста с клавиатуры с контролем в консольном окне? Или в Win-доузном TXT- овом окошке контролируем? Или вообще без контроля , типа "клавиатурный шпиён"? Потом всё это в текстовый файл сохраняем или как? Или я туплю, или лыжи не едут?
0
|
|||
|
431 / 385 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
|
|
| 13.02.2012, 16:09 [ТС] | |
|
Есть программа tac.exe, которая печатает в обратном порядке данные. Наверное, в Windows проще передавать данные как аргументы командной строки. То есть мы запускаем
tac.exe stroka1 stroka2 da i xvatit naverno и видим на экране: naverno xvatit i da stroka2 stroka1 Принцип ясен? Теперь надо написать программу, в которой для переворачивания массива используется программа tac.exe. То есть мы объявили массив с элементами "raz", "dva", "tri". Вызвали программу tac.exe massiv[1] massiv[2] massiv[3] Перехватили стандартный вывод программы tac.exe и прочитали, что она выдала. Запихали в тот же массив. Получили перевёрнутый массив - "tri", "dva", "raz". Это юниксовый трубопровод (unix pipes). Но, может быть, под Windows надо использовать другие инструменты для взаимодействия программ? Кто знает, вдруг они даже лучше окажутся. Впрочем, я в этом сомневаюсь. Как бы не пришлось городить что-то вроде клиент-серверной архитектуры. То есть запустим сервис tac, будем пихать в него данные и ждать ответа. Если Вы мне скажете, что на PureBasic такое взаимодействие организовать не очень трудно, то я, пожалуй, выкину все свои книги по другим языкам и буду программировать только на нём.
0
|
|
|
|
|
| 13.02.2012, 16:40 | |
|
Смотрите здесь в пункте Формат исполняемого файла (Executable format). То, что касается Console. Это включение поддержки ввода / вывода текста через консоль.
А здесь функции для взаимодействия с другими программами. http://purebasic.ru/manual.php?id=1032&lng=rus
1
|
|
|
|
||||||||
| 13.02.2012, 18:19 | ||||||||
|
Вот рабочий пример из справки, в нём мы запускаем компилятор PureBasic и запрашиваем у него справку по ключам запуска. Эти ключи запуска считываем в свою программу:
1
|
||||||||
|
431 / 385 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
|
|
| 13.02.2012, 18:35 [ТС] | |
|
Это то, что нужно! Кроме того, я тут поспрашивал других людей, и выяснил, что бывают и windows pipes. Для этого надо использовать Windows PowerShell. Причём обмен там на уровне объектов, а не plain-text.
0
|
|
|
|
|||||||
| 13.02.2012, 19:20 | |||||||
|
К примеру на моей XP SP3 PowerShell не обнаружен ![]() НО работать с ним их PureBasic можно и очень просто:
0
|
|||||||
|
431 / 385 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
|
||
| 13.02.2012, 21:02 [ТС] | ||
|
Ещё удобнее (в моей ситуации) разбить программу на множество сервисов, каждый из которых принимает задания и выдаёт результаты. Например, программа читает показания неких датчиков, а потом отдаёт их на обработку. Хотелось бы задействовать мощь многоядерного процессора, но алгоритм обработки показаний датчиков не распараллеливается в принципе. Появилась такая идея. Запускаем несколько копий программы-обработчика (по числу ядер процессора) и несколько программ-считывателей показаний датчиков (соответственно, по числу датчиков). Каждая программа-считыватель, получив данные с датчика, начинает опрашивать программы-обработчики, пока не найдёт простаивающий без дела. Отдаёт ему задание и ждёт его выполнения. Получив результаты расчётов, записывает в лог и читает следующую порцию данных со своего датчика. И всё повторяется сначала...
0
|
||
|
|
|||||
| 13.02.2012, 21:23 | |||||
|
0
|
|||||
|
431 / 385 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
|
||
| 14.02.2012, 08:46 [ТС] | ||
|
Всё дело в мышлении. Ведь есть же люди, которые программируют на Форте и других стековых языках, потому что им они ближе по способу мышления. Хотя большинству людей они кажутся сверхсложными. Недаром же язык программирования Var'aq, якобы использующийся клингонами из СтарТрека, по сути Форт с клингонским лексиконом. Есть и более сложные эзотерические языки программирования, но они специально усложнены. А фортоподобные языки на самом деле глубоко логичны и в основе своей просты. Так вот, к чему я веду? Для юникса характерно создавать скрипты из множества мелких программ, зачастую написанных на разных, опять же простых, узкоспециализированных языках (пример: AWK). Даже слова true и false - отдельные программы (первая сразу завершается корректно, вторая - с ошибкой).
0
|
||
|
|
||
| 14.02.2012, 09:51 | ||
Тем более, что языковые конструкции Форта и Бейсика схожи.Светую заглянуть на русский форум по PureBasic, там материала очень много, есть не плохие специалисты которые всегда готовы помочь. А программу с потоками на PureBasic написать чуть сложнее, чем "Helo World!"
0
|
||
|
431 / 385 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
|
|||||||
| 14.02.2012, 12:09 [ТС] | |||||||
:dance3:Вот типичный пример, который мне нужен, но который я даже не могу представить, как решать: есть массив входных значений. Надо применить к ним определённую функцию и получить выходные значения. Сложность в том, что массив должен заполняться параллельно. Последовательно - это тривиально:
0
|
|||||||
|
|
|||||||
| 14.02.2012, 14:26 | |||||||
CreateThread(@VeryHardFormula(),k) В Helpe eсть пример.
2
|
|||||||
|
431 / 385 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
|
|
| 14.02.2012, 20:46 [ТС] | |
|
Ну почему, почему, почему PureBasic не попался мне на глаза год назад, когда я судорожно искал лучший (для решения моих задач) язык программирования? Впрочем, всё что ни делается - к лучшему. Я за этот год изучил несколько языков, получил некоторое представление о разных парадигмах... Это сейчас я вижу все достоинства этого языка. А год назад, возможно, меня отпугнуло бы одно только слово Basic. На самом деле PureBasic ближе к языкам C и Pascal (но далёк от C++ и Delphi), чем к оригинальному Бейсику.
В общем, я теперь его фанат. Сейчас читаю документацию и понимаю, что это идеальный (для меня) язык. Я сейчас пытаюсь найти информацию о том, как сделать так, чтобы VeryHardFormula была отдельной программой (exe или dll). Погуглил и нашёл некий модуль PurePROCS. Судя по всему, он-то мне и нужен.
0
|
|
| 14.02.2012, 20:59 | |
|
0
|
|
| 14.02.2012, 20:59 | |
|
Помогаю со студенческими работами здесь
20
сегодня наконец то понял что такое КЛАСС, и ОБЪЕКТ. понято всё, кроме одного - зачем всё это? в смысле, можно же без этого? так зачем жизнь усложнять? Сделать макрос в Word, вводишь строку и макрос произвольно меняет шрифт, цвет и размер для каждого слова из этого активного вордовского документа. Подскажите, как отсортировать строки этого файла по алфавиту и по длине слова? Задан текст, напечатать слова этого текста отличные от последнего слова Как из этого сделать рекурсию Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|