Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.65/165: Рейтинг темы: голосов - 165, средняя оценка - 4.65
POMAXA

Отслеживание зависания (состояния "не отвечает") программы и её перезапуск

21.01.2013, 19:05. Показов 34885. Ответов 95
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Dragokas, благодарю за программку, как раз то, что нужно для моих целей!

Единственный вопрос, что нужно дописать в вашу программку, чтобы после перезапуска зависшего приложения спустя заданное время в миллисекундах, программа имитировала нажатие клавиши Enter для перезапущенного приложения и через 2 секунды (например) "нажимала" Enter сново, для запущенного приложения. И чтобы второй Enter, при необходимости можно было отключить. И первый тоже, при необходимости, отключить можно было.

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

Если вас не затруднит, помогите улучшить вашу программку, думаю эта дополнительная функция будет полезна не только мне.

Еще раз благодарю за данную программку, ибо хотел писать ее сам, но вовремя увидел ваш труд.

 Комментарий модератора 
Комментарий:
Оригинальный код находится в теме: Полезные BAT/CMD скрипты
Дополнительные варианты решений на других языках расположены в разделе: Visual Basic
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.01.2013, 19:05
Ответы с готовыми решениями:

Отслеживание состояния браузера
Подскажите, пожалуйта, каким образом в Servlet-ах можно отследить завершение работы браузера клиента средствами самого браузера, а также...

Отслеживание состояния компонента
Доброго времени суток, уважаемые. Вероятно, вопрос покажется Вам глупым, но если бы я знал больше всех, то не спрашивал бы=( В общем,...

Отслеживание состояния приложения
Всем привет! Подскажите пожалуйста, как вы отслеживаете когда "приложение запускается" -> "становиться активным" ->...

95
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18030 / 7733 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
30.10.2015, 22:35
Студворк — интернет-сервис помощи студентам
Запуск процесса происходит в подпрограмме :StartServer
А уж что и как именно Вам нужно удалять, тут уже я не знаю. Но если что-то специфическое, то наверняка лучше спросить в другой теме.
0
0 / 0 / 0
Регистрация: 10.02.2015
Сообщений: 108
30.10.2015, 22:56
Где мне вставить команду на удаление строк из файла TXT
перед запуском
Windows Batch file
Set Args1=+set sv_config server_1.cfg
Просто я профан пока в этом деле, вся надежда на Вас...
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18030 / 7733 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
30.10.2015, 23:02
oniava, распишите подробнее, сколько у Вас процессов стартует.
Вам удалять нужно конкретно перед запуском этого (1-го процесса) или каждого?
Как уже говорил запуск процесса идет в :StartServer, следовательно следующей строкой после этой метки можете сразу и вставлять Вашу команду (строка 141-142).
1
0 / 0 / 0
Регистрация: 10.02.2015
Сообщений: 108
30.10.2015, 23:25
Точее даже вот эти строки

Windows Batch file
type links_skipped.txt | find /v /i "apps" > links_skipped.temp
echo.Y | move links_skipped.temp links_skipped.txt
перед запуском приложения, когда Ваш скрипт его перезапустил..

Ну очень нужно

Добавлено через 15 минут
Всё получилось Алекс!!!

Добавлено через 13 секунд
Огромнейшее спасибо!!!
0
0 / 0 / 0
Регистрация: 09.01.2016
Сообщений: 3
10.01.2016, 00:10
ребят, мне бы надо найти готовое решение которое просто убьёт процесс не перезапуская его, а после снова возьмет на контроль когда он появится.

Просто у меня процесс запускается батником с кучей параметров и копированием логов при падении.

Windows Batch file
1
2
3
4
5
:restart
команды копирования логов до запуска
start /wait process.exe /param1 /param2 /param..n
команды копирования логов если процесс умер
goto restart
то есть для такого батника достаточно чтобы процесс просто умер и он его сам перезапустит.
Причем в системе может висеть несколько копий этого процесса, надо мониторить все и у убивать зависшие.

Надо бы готовое решение, нет времени создавать самому. Если есть что, то заранее благодарен
0
 Аватар для vavun
10592 / 5555 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
10.01.2016, 00:14
Windows Batch file
1
taskkill /f /im process.exe /fi "status eq not responding"
1
0 / 0 / 0
Регистрация: 09.01.2016
Сообщений: 3
10.01.2016, 11:57
это конечно да, но нужен мониторинг. Чтобы в течении некоторого периода времени если процесс not responding несколько раз, то надо его убить.
Windows Batch file
1
2
3
:restart
taskkill /f /im process.exe /fi "status eq not responding"
goto restart
будет убивать его даже если тот подвис не на долго.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18030 / 7733 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
10.01.2016, 16:56
maxcad, поднастройте этот скрипт.
0
0 / 0 / 0
Регистрация: 06.06.2016
Сообщений: 3
06.06.2016, 14:23
Доброго времени!
програмка очень полезна
Помогите её немного модифицировать, требуется при зависании процесса "А", ещё убивать процесс "В"
Спасибо!
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18030 / 7733 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
06.06.2016, 16:06
q10nik, здравствуйте!

Вообщем-то для этого скрипт не рассчитывался.
Если Вам следить только за одним процессом, то можете просто вот там где метка :Restart (строка 139), под ней просто написать

Windows Batch file
1
taskkill /f /im "имя процесса # 2.exe"
1
0 / 0 / 0
Регистрация: 06.06.2016
Сообщений: 3
08.06.2016, 09:50
Спасибо) (к сожалению кнопка в репу не активна пока )

На 7вин работает как надо зависшее рестартит и второй процесс убивает, а на ХР пишет "Фильтр поиска не обнаружен", ткните носом где подвох.

заранее благодарен.

Добавлено через 17 часов 15 минут
я так понимаю у меня это связано с локализацией, подскажите пожалуйста как допилить скрипт
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18030 / 7733 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
08.06.2016, 16:06
Цитата Сообщение от q10nik Посмотреть сообщение
а на ХР пишет "Фильтр поиска не обнаружен", ткните носом где подвох.
говорят, что известная бага:

Цитата Сообщение от score4fun Посмотреть сообщение
Dragokas, запускал на вин7 х64 - воркает, но нужно, чтобы так же воркало и на винХР СП3 рус, там не хочет... разгуглил, говорят, что в русской локализации тасклист не совсем корректно пашет, а именно фильтры, при этом у тасккилла таких проблем нет
Цитата Сообщение от q10nik Посмотреть сообщение
я так понимаю у меня это связано с локализацией, подскажите пожалуйста как допилить скрипт
Да. Могу написать небольшую утилитку взамен части функционала от tasklist.
1
0 / 0 / 0
Регистрация: 06.06.2016
Сообщений: 3
16.06.2016, 15:35
Буду весьма признателен!
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18030 / 7733 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
18.06.2016, 20:10
Здравствуйте, q10nik !

Скачайте приложенный архив. Распакуйте файл FreezeDetector.exe в папку с батником.
Ориентируясь на код этого скрипта, Вам необходимо в нём заменить 128-ю строку вместо:

Windows Batch file
1
  'tasklist /FI "IMAGENAME eq %~1"%PID_Filter% /FI "STATUS eq NOT RESPONDING" /FO CSV /NH') do (
написать

Windows Batch file
1
  'FreezeDetector /FI "IMAGENAME eq %~1"%PID_Filter% /FI "STATUS eq NOT RESPONDING" /FO CSV /NH') do (
(т.е. аргументы остаются все те же самые.)

Удачи!
Вложения
Тип файла: zip FreezeDetector.zip (28.3 Кб, 64 просмотров)
1
5 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 16
14.11.2016, 10:53
Dragokas, здравствуйте.
У меня следующая ситуация: нужно отслеживать и перезапускать процессы с одинаковым названием, но запущенные с разными аргументами. Пример: есть ярлык1 с параметрами запусками - C:\Mozilla\firefox.exe -no-remote -profile alex1; есть ярлык2 - C:\Mozilla\firefox.exe -no-remote -profile alex2 и т.д. Вот эти два процесса в диспетчере именуются одинаково, то есть, процесс у них обоих - firefox.exe. При зависании происходит перезапуск процесса, но аргументы не применяются, то есть просто запускается процесс firefox.exe.
Подскажите, пожалуйста, есть ли возможность отслеживать и перезапускать такие процессы.
Спасибо.
0
 Аватар для v_svitere
774 / 423 / 137
Регистрация: 03.06.2009
Сообщений: 1,223
Записей в блоге: 4
14.11.2016, 11:27
Alg,
Подскажите, пожалуйста, есть ли возможность отслеживать и перезапускать такие процессы.
Да есть. Проще всего commandline вытащить через wmi
Powershell-ный скрипт выглядит примерно так:
PowerShell
1
2
$proc=Get-WmiObject win32_process|where{$_.name -eq "firefox.exe"}
$proc|%{$_.processName,$_.commandline,"`r"}
Bat-ником тоже наверное можно, предположу что через wmic
0
5 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 16
14.11.2016, 11:44
v_svitere, спасибо за предположение по поводу PS.
Цитата Сообщение от v_svitere Посмотреть сообщение
Bat-ником тоже наверное можно, предположу что через wmic
Эхх.. Не силен я в этом (
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18030 / 7733 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
15.11.2016, 00:33
Alg, там в коде всё уже есть, просто он настроен на распознавание разных путей, а не аргументов.

Добавил к признакам еще и проверку аргументов:

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
@echo off&:: by Alex Dragokas -14.11.16-
COLOR 07
chcp 862 >NUL
 
:: Start all proccesses, kill not responding proccesses, kill proccess less then defined number of MB RAM.
SetLocal EnableDelayedExpansion EnableExtensions
 
Echo.& Echo.
Echo Monitor has been started.&Echo.
 
::Path to process
Set Path1=l:\Bash\Not Responding\1\test.exe
Set Path2=l:\Bash\Not Responding\1\test.exe
 
::Parameters for the server
Set Args1=+set sv_config server_1.cfg
Set Args2=+set sv_config server_2.cfg
 
::Delay (sec.) before the next check
Set /A DelayNewCheck=6
 
::Delay (sec.) before starting a process after shutting down because of "not responding" status
Set DelayStartProcess=4
 
::Setting Priority of Application to Run with (1 to 6):
::1 - LOW, 2 - BELOWNORMAL, 3 - NORMAL, 4 - ABOVENORMAL, 5 - HIGH, 6 - REALTIME
Set Priority=3
 
::Start the process in Minimize mode? (1 - Yes, 2 - No)
Set Minimize=2
 
::Count of Memory Checks before closing the application
Set MemoryChecks=10
 
::Set Delay before each memory check (sec.)
Set MemoryDelay=3
 
::Count of KBytes that application need to use after 3 + %MemDelay% sec. of new launchings.
Set MinMemory=1000
 
::How many times we make a series of chekings (during %BugTime%)
Set /A BugChecks=12
 
::Set Delay for each bug check (ms.)
Set BugCheckDelay=3
 
 
Call :PriorityEnum %Priority% Priority
if %Minimize%==1 (set Minimize=/MIN ) else (set Minimize=)
 
:begin
for /L %%X in (1,1,20) do if Defined Path%%X For %%A in ("!Path%%X!") do call :WatchSingleProcess "%%~nxA" "!Args%%X!"
Call :Delay %DelayNewCheck%
Goto :begin
 
 
:WatchSingleProcess %1-Name_of_Process %2-Args
Set Process=%~1
Set PID=
Call :IsResponding "%Process%" "" "%~2" ProcessPath
Set PID=%errorlevel%
if "%PID%" neq "0" (
  rem Call :GetProcessInfo "%PID%" "%Process%" ProcessPath Param
  set HH=!time:~0,2!
  Set MM=!time:~-8,2!
  Set SS=!time:~-5,2!
  if "!HH:~0,1!"==" " set HH=0!HH:~1,1!
  Set myTime=!HH!:!MM!
  Echo %DATE%   !myTime!
  <nul set /p "test=Found Bug in %Process% PID=%PID% %ProcessPath% %~2" 
  for /L %%C in (1,1,%BugChecks%) do (
    Call :IsResponding "%Process%" "%PID%" "%~2" ProcessPath
    
    if !errorlevel! neq 0 (
        <nul set /p test=.
        if %%C==%BugChecks% (Call :Restart "%PID%" "%Process%" "%~2"& Exit /B)
        Call :Delay %BugCheckDelay%
      ) else (
        Echo Waked up
        Goto :MemoryCheckLabel
    )
  )
)
:MemoryCheckLabel
Set PID=
Call :CheckMemory "%Process%"
Set PID=%errorlevel%
if "%PID%" neq "0" (
  Call :GetProcessInfo "%PID%" "%Process%" ProcessPath Param
  rem <nul set /p test=
  set HH=!time:~0,2!
  Set MM=!time:~-8,2!
  Set SS=!time:~-5,2!
  if "!HH:~0,1!"==" " set HH=0!HH:~1,1!
  Set myTime=!HH!:!MM!
  Echo.
  Echo !DATE!   !myTime!
  Echo Found low memory loading in %Process% PID=%PID% %ProcessPath% 
  for /L %%C in (1,1,%MemoryChecks%) do (
    Call :CheckMemory "%Process%" "%PID%"
    if !errorlevel! neq 0 (
        rem <nul set /p test=.
        if %%C==%MemoryChecks% (Call :Restart "%PID%" "%Process%" "%~2"& Exit /B)
        Call :Delay %MemoryDelay%
      ) else (
        Echo Memory ok
        Exit /B
    )
  )
)
:IsAllProcessRunned
::Get path for all runned iw5mp_server processes
for /L %%X in (1,1,20) do (
  if Defined Path%%X (
    set FoundProc=false
    set FoundArg=false
    for /f "tokens=1* delims==" %%A in (
      'wmic path win32_process where ExecutablePath^="!Path%%X:\=\\!" get commandline /value 2^>^&1^|findstr /i /c:"commandline" /C:"No Instance"') do (
        echo %%A|find /i "No Instance"
        if errorlevel 1 (
          if Defined Args%%X (
            set FoundProc=true
            for /f tokens^=1^,*^ delims^=^" %%b in ("%%B") do (
              for /f "tokens=*" %%e in ("%%c") do (
                if "%%e"=="!Args%%X!" set FoundArg=true
              )
            )
          )
        ) else (
          Call :StartServer "!Path%%X!" "!Args%%X!"
        )
    )
    if !FoundProc!==true if !FoundArg! neq true Call :StartServer "!Path%%X!" "!Args%%X!"
  )
)
call :Delay 1
exit /B
 
:IsResponding %1-ProcessName %2-Optional_PID %3-optional_Arguments %4-out.Process_Path
::Set PID Filter when we enter the bug-awaiting stady
Set PID_Filter=
if "%~2" neq "" Set PID_Filter= /FI "PID eq %~2"
For /f "tokens=1,2 delims=," %%A in (
  'tasklist /FI "IMAGENAME eq %~1"%PID_Filter% /FI "STATUS eq NOT RESPONDING" /FO CSV /NH') do (
    if /i "%%~A"=="%~1" (
      Call :GetProcessInfo "%%~B" "%~1" ProcessPath Param
      set "%~4=!ProcessPath!"      
      if "%~3"=="" Exit /B %%~B
      if "%~3"=="!Param!" Exit /B %%~B
    )
)
Exit /B 0
 
:Restart %1-Proccess_PID %2-Process_Name %3-Args
Call :GetProcessInfo "%~1" "%~2" ProcessPath Param
taskkill /T /F /PID %~1
Echo ShutDown Server PID=%~1
Call :Delay %DelayStartProcess%
if "%ProcessPath%" neq "" Call :StartServer "%ProcessPath%\%~2" "%Param%"
Exit /B
 
:StartServer %1-ProcessPath %2-Param
For %%A in ("%~1") do start "" /d "%%~dpA" %Minimize%/%Priority% "%~1" %~2
Echo.
Echo %DATE% %TIME%
Echo %~1 %~2 started.
call :Delay 3
exit /B
 
:CheckMemory %1-Process_Name %2-Proccess_PID-Optional
::Set PID Filter when we enter the bug-awaiting stady
Set PID_Filter=
if "%~2" neq "" Set PID_Filter= /FI "PID eq %~2"
For /f "tokens=1,2,3,4* delims=," %%A in (
  'tasklist /FI "IMAGENAME eq %~1"%PID_Filter% /FI "MEMUSAGE lt %MinMemory%" /FO CSV /NH') do (
    if /i "%%~A"=="%~1" (
      if "%~2" neq "" (Echo PID=%~2 Memory=%%E) else (Echo Begin Check PID=%%~B Memory=%%E)
      Exit /B %%~B
    )
)
Exit /B 0
 
:PriorityEnum %1-Constant %2-var.name
if %~1==1 Set %~2=LOW
if %~1==2 Set %~2=BELOWNORMAL
if %~1==3 Set %~2=NORMAL
if %~1==4 Set %~2=ABOVENORMAL
if %~1==5 Set %~2=HIGH
if %~1==6 Set %~2=REALTIME
Exit /B
 
:GetProcessInfo %1-Proccess_PID %2-Process_Name %3-var.Process_Path %4-var.Process_Parameters
set %~3=
::Getting the Process' Path and Parameters
for /f "tokens=1* delims==" %%A in (
  'wmic path win32_process where ^(ProcessID^=%~1 and name^="%~2"^) get "CommandLine"^,"ExecutablePath" /value^|findstr /BC:"CommandLine" /C:"ExecutablePath"') do (
  if "%%A"=="CommandLine" Set "ProcParse=%%B"
  if "%%A"=="ExecutablePath" Set "ProcessPath=%%~dpB"
)
if "%ProcessPath%" neq "" Set "%3=%ProcessPath:~0,-1%"
::Parse Parameters
Set /A n=0& Set Param=
for %%A in (%ProcParse%) do Set /A n+=1& if !n! neq 1 (Set "Param=!Param!%%A ")
Set "%4=%Param:~0,-1%"
Exit /B
 
:Delay %1-sec.
ping 127.1 -n %~1 > nul
Exit /B
1
5 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 16
15.11.2016, 02:14
Dragokas, ух ты, спасибо за быстрый отклик. Действительно, сейчас все работает как надо.
Только появилась такая проблема: если запускать скрипт при уже запущенном процессе, который надо отслеживать, то вылазит диалоговое окно "Firefox уже запущен, но не отвечает (прим. "по факту он не завис"). Чтобы открыть новое окно, должен быть завершён запущенный процесс Firefox." И две кнопки на выбор "закрыть Firefox" и "Отмена". Если нажать закрыть, то процесс закрывается, и скрипт сразу запускает его по новой - и опять появляется это диалоговое окно вылазит.
Отмечу, что если сначала запустить скрипт, то такого не наблюдается, видимо, потому что он сам запускает все процессы с самого начала.
Моя конструкция выглядит так, если нужно:
Windows Batch file
1
2
3
4
5
6
7
8
9
::Path to process
Set Path1=C:\firefox.exe
Set Path2=C:\firefox.exe
Set Path3=C:\firefox.exe
 
::Parameters for the server
Set Args1=-no-remote -profile C:\P\alex1
Set Args2=-no-remote -profile C:\P\alex2
Set Args3=-no-remote -profile C:\P\alex3
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18030 / 7733 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
16.11.2016, 02:49
Alg, проверил. У меня нормально работает.
Это скорее всего из-за того, что у Вас немного по-разному прописаны аргументы в ярлыке и в скрипте (лишний пробел или символы разного регистра).

Скопируйте ярлыки Firefox-a и батник в папку. Папку заархивируйте и пришлите мне, я посмотрю.

Добавлено через 11 часов 18 минут
Alg, скрипт требует полное соответствие аргументов.
В присланном Вами, в скрипте:
-no-remote -profile C:\Mozilla\Profiles\prof1
-no-remote -profile C:\Mozilla\Profiles\prof2
-no-remote -profile C:\Mozilla\Profiles\prof3
а в ярлыках:
-no-remote -profile prof1
-no-remote -profile prof2
-no-remote -profile prof3
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.11.2016, 02:49
Помогаю со студенческими работами здесь

Отслеживание состояния checkbox?
Добрый день. Есть 5 текстовых полей(input) и один checkbox. Необходимо сделать проверку если все 5 полей имеют одинаковое значение тогда...

Отслеживание состояния страницы
Здравствуйте! Хочу обратится к вам с проблемой! Пишу WebServise, c аудитом... Стартовая странница просит вести логин и пароль, после чего...

Отслеживание состояния <select>
Как при изменении состояния &lt;select&gt; переслать на другую страницу? (для каждого option`a отдельно)

Отслеживание состояния WebBrowser
Добрый день всем. Воюю с контролом System.Windows.Forms.WebBrowser. После загрузки страницы снимаю скриншот с него и располагаю...

Отслеживание состояния msinet.ocx
прочел статью В.Сизова &quot;Как применять FTP в документах Microsoft Office&quot; По мотивам написал такую процедуру. Public Const lcl_path...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru