uniwersalna biblioteka do uruchomienia/zakonczenia procesu na różnych platformach

0

chciałbym uruchomić proces, zakończyć uruchomiony proces na podstawie nazwy

ktoś może polecić jakaś lekka bibliotekę do tego która ogarnie zbliżonym API Linux/Windows ?

2

@Marius.Maximus: Jeżeli chodzi o multiprocessing w C++ to jedyna libka, która mi przychodzi na myśl to boost,
ale on raczej lekki nie jest.

2
Marius.Maximus napisał(a):

chciałbym uruchomić proces, zakończyć uruchomiony proces na podstawie nazwy

Słówko teorii. Nazwę (w sensie nazwy pliku) ma PROGRAM, który MOŻE zostać uruchomiony, w razie uruchomienia o pliku-programie mówi sie czasem, że jest obrazem procesu.
Wiec potencjalnie istnieje proces, który nie charakteryzuje sie nazwą pliku, z jakiego powstał. Z pewnością taki jest uniksowy init , sam sobie zadaję ćwiczenie intelektualne, jakie by mogły być inne.

Skąd takie postawienie tematu? Jakiś tool narzędziowy?
Większość "normalnych" podejść zakłada władzę nad procesami potomnymi, w szczególności z ich uruchomienia rodzic posiada jakiś PID dziecka (dosłownie pid w uniksach, i odpowiednik u małomiekkiego)

Inny problem jaki "nazwa" rodzi, to gdy tenże cmd.exe albo bash daje etykietę czemuś innemu. Masz ich siedemnaście ... co zrobisz ? Albo java.exe

Dawniej miałem ułożone w głowie wyniki eksperymentu przemianowania / skasowania programu po uruchomieniu, chyba to było szerzej mozliwe w uniksach a mnie w microsoftach

Marius.Maximus napisał(a):

ktoś może polecić jakaś lekka bibliotekę do tego która ogarnie zbliżonym API Linux/Windows ?

Tematy oddzielnie na każdy wydają sie tak łatwe (chyba? wszystko jest łatwe, jeśli to ma zrobic kto inny) a zarazem odmienne, że dwie implementacje mogą być lżejsze niż jedna typu "wspólny mianownik"

1

Najbardziej prymitywnie będzie po prostu użyć gołego std::system z biblioteki standardowej.

Zabić proces można używając aplikacji taskkill:

system("taskkill /IM example.exe /F");

Pod Linuksem można zamiast tego użyć pkill.

1 użytkowników online, w tym zalogowanych: 0, gości: 1