powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / Как отследить что процесс закрылся и запустить его снова
6 сообщений из 6, страница 1 из 1
Как отследить что процесс закрылся и запустить его снова
    #36843242
revda.info
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Надо написать костыль для нашей секретарши, она или кто-то еще закрывает все время программу для сбора логов с оборудования. В саму программу никак не влезть, а вот костыль наверное можно как-то придумать, чтобы как только тетя закрыла программу (она в трее сидит и ее видно в процессах) она запускалась снова.

Спасибо.
...
Рейтинг: 0 / 0
Как отследить что процесс закрылся и запустить его снова
    #36843256
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
написать (найти) маленькую програмуленку, которая будет находить окно вашей программы для сбора логов (FindFirstWindow, etc) и посылать ей команду WM_HIDE, но при этом сама садиться в трей и через нее позволяет восстанавливать видимости окна для контроля
пишется за полдня неопытным на С++
опытным за пару часов
...
Рейтинг: 0 / 0
Как отследить что процесс закрылся и запустить его снова
    #36843288
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
revda.info,

А лучше кроме повторного запуска еще и ченить не закрываемое полноэкранное с сообщением - "Дальнейшая работа невозможна. Перезагрузка компа в текущем состоянии не гарантирует сохранности данных. Вас предупреждали." )))


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

2. Попробуйте погуглить программки для управления обычными и треевыми задачами, которые позволяют обычные сворачивать в трей, а так же и те, и другие вообще прятать с десктопа. Возможно среди них найдете такую, в которой можно например каждому из приложений назначить состояние, т.е. чтобы запустил приложение и оно атоматом убрано из трея будет. Ибо я для таких целей пользуюсь Iconic Tray, но в ней автоматического прятанья нет.

3. Попросить программиста написать несложное приложение, которое будет проверять наличие процесса. Соответственно либо сделать его в виде виндовой службы, либо просто не видимое в трее, либо же переодически запускаемое планировщиком Windows.
...
Рейтинг: 0 / 0
Как отследить что процесс закрылся и запустить его снова
    #36843371
Микросекунда
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В nnCron есть условие запуска задачи: process exists. Надо поизучать, можно ли поставить условием not(process exists). Тогда можно было бы зашедулить в нем запуск задачи X по отсутствию процесса X
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как отследить что процесс закрылся и запустить его снова
    #36843449
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну например, вот таким скриптом(часть из большого скрипта - отредактирована "на скорую руку")

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
function FindExecutedAppByName(AppName){
	return objService.ExecQuery("select * from Win32_Process where ( " + 
							"    name = \"" + AppName + "\")")
} //FindExecutedApp1C

var objService = GetObject("winmgmts:\\\\.\\Root\\CIMV2");
var WshShell = new ActiveXObject("Wscript.Shell")

WScript.Echo("Скрипт запущен");

while ( 0  ==  0 ) {
	
	App = FindExecutedAppByName("notepad.exe");
	
	if (App.Count ==  0 ) {
		WScript.Echo("Не напущен");
		WshShell.Run("notepad.exe",  1 , true);
	}

	WScript.Echo("Работает");
	
	WScript.Sleep( 30000 );
}

notepad.exe заменить на требуемое имя. В строке запуска указать полный путь. Да, слэш нужно экранировать, тоесть ставить их по два штуки.
Язык JScript... ну там, думаю, всё понятно.


Хм... а как "секретарши" хватает прав на завершение процесса?
Или она работает из под админа ?

Я так понял, что у вас есть сомнения в причине завершения процесса, так может он сам падает?
Что в журналах?
...
Рейтинг: 0 / 0
Как отследить что процесс закрылся и запустить его снова
    #36843454
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
WScript.Echo("Работает");

Убери вот такое - это для отладки было нужно
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / Как отследить что процесс закрылся и запустить его снова
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]