У меня есть этот код C#, но есть небольшая проблема: он постоянно завершает работу и запускает процесс «bubbles.scr» каждые 0,01 секунды (я знаю, что за это отвечает «System.Threading.Thread.Sleep(1000);» вторая вещь 0,01), но вот в чем дело:
Нам нужно, чтобы он проверял и завершал каждую запущенную задачу «bubbles.scr», но когда он убивает одну, он запускает другой случай «bubbles.scr» вместо убитого, а затем он просто перестает пытаться запустить или завершить любые другие экземпляры bubbles.scr после этого.
По сути, он сохраняет лихорадочно ищем «bubbles.scr» (с задержкой 10 мс), находит один, убивает его, запускает другой экземпляр bubbles.scr (с задержкой 10 мс), перестает делать все предыдущие действия, пока не будет найден bubbles.scr. запуск останавливается пользователем, а затем возвращается к поиску.
Примечание: нам нужна часть while (true), потому что мы хотим, чтобы он постоянно искал bubbles.scr. .
Проверено: сценарий, который ищет bubbles.scr, убивает его и запускает другой экземпляр (один раз).
Случилось: он продолжал убивать и запускать экземпляры bubbles.scr.
using System;
using System.Diagnostics;
using System.Linq;
namespace BubbleKiller
{
class Program
{
static void Main(string[] args)
{
while (true)
{
bool isNOTrunning = false;
bool ISrunning = false;
bool bubblesKilled = false;
bool secondTime = false;
// Get all running processes with name "bubbles.scr"
Process[] bubbles = Process.GetProcessesByName("bubbles.scr");
if (bubbles.Length == 0)
{
isNOTrunning = true;
ISrunning = false;
}
else if (bubbles.Length == 1 && !secondTime)
{
ISrunning = true;
}
if (ISrunning && !bubblesKilled)
{
foreach (var bubble in bubbles)
{
bubble.Kill();
bubblesKilled = true;
}
}
if (bubblesKilled)
{
isNOTrunning = true;
ISrunning = false;
}
if (bubblesKilled && isNOTrunning)
{
secondTime = true;
ISrunning = true;
bubblesKilled = true;
Process.Start("bubbles.scr");
}
// Introduce a small delay to avoid excessive CPU usage
System.Threading.Thread.Sleep(10);
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/787 ... ecuted-one
Как это можно выполнить один? ⇐ C#
Место общения программистов C#
1721909355
Anonymous
У меня есть этот код C#, но есть небольшая проблема: он постоянно завершает работу и запускает процесс «bubbles.scr» каждые 0,01 секунды (я знаю, что за это отвечает «System.Threading.Thread.Sleep(1000);» вторая вещь 0,01), но вот в чем дело:
Нам нужно, чтобы он проверял и завершал каждую запущенную задачу «bubbles.scr», но когда он убивает одну, он запускает другой случай «bubbles.scr» вместо убитого, а затем он просто перестает пытаться запустить или завершить любые другие экземпляры bubbles.scr после этого.
По сути, он сохраняет лихорадочно ищем «bubbles.scr» (с задержкой 10 мс), находит один, убивает его, запускает другой экземпляр bubbles.scr (с задержкой 10 мс), перестает делать все предыдущие действия, пока не будет найден bubbles.scr. запуск останавливается пользователем, а затем возвращается к поиску.
Примечание: нам нужна часть while (true), потому что мы хотим, чтобы он постоянно искал bubbles.scr. .
Проверено: сценарий, который ищет bubbles.scr, убивает его и запускает другой экземпляр (один раз).
Случилось: он продолжал убивать и запускать экземпляры bubbles.scr.
using System;
using System.Diagnostics;
using System.Linq;
namespace BubbleKiller
{
class Program
{
static void Main(string[] args)
{
while (true)
{
bool isNOTrunning = false;
bool ISrunning = false;
bool bubblesKilled = false;
bool secondTime = false;
// Get all running processes with name "bubbles.scr"
Process[] bubbles = Process.GetProcessesByName("bubbles.scr");
if (bubbles.Length == 0)
{
isNOTrunning = true;
ISrunning = false;
}
else if (bubbles.Length == 1 && !secondTime)
{
ISrunning = true;
}
if (ISrunning && !bubblesKilled)
{
foreach (var bubble in bubbles)
{
bubble.Kill();
bubblesKilled = true;
}
}
if (bubblesKilled)
{
isNOTrunning = true;
ISrunning = false;
}
if (bubblesKilled && isNOTrunning)
{
secondTime = true;
ISrunning = true;
bubblesKilled = true;
Process.Start("bubbles.scr");
}
// Introduce a small delay to avoid excessive CPU usage
System.Threading.Thread.Sleep(10);
}
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78793038/how-can-it-be-executed-one[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия