Gå til innhold

Anbefalte innlegg

Jeg lurer på om det på noen måte er mulig å kjøre et script med kode som sjekker om en spesifisert prosess har hengt seg, samt at scriptet stopper og starter prosessen om den har hengt seg?

 

Noen som vet hvilken kode jeg må bruke for å sjekke/få til noe slikt?

Lenke til kommentar
Videoannonse
Annonse

Dette kommer veldig an på prosessen.

 

Når en prosess henger så sitter den som oftest fast i en uendelig løkke. Dette kan være en løkke den har kommet inn i på grunn av forutsetninger som den som laget prosessen ikke har forutsett eller at en annen prosess som den hengte prosessen forventer å få et signal fra har terminert på en måte som programmereren ikke forutså.

 

I begge tilfeller så er det uforutsette hendelser som forårsaker hengingen av prosessen. Hadde disse eventualitetene blitt forutsett så hadde det blitt satt inn tiltak for å forhindre at prosessen hang seg til å begynne med.

 

 

Noen prosesser bruker liten til ingen prosessorkraft når de henger mens andre bruker nær 100% av tilgjengelig prosessorkraft. Dette er avhengig av typen løkke som prosessen henger fast i.

 

Det er selvfølgelig mulig å måle hvor mye prosessorkraft en gitt prosess bruker hvis du kjenner PID-en til prosessen og ut i fra dette "gjette" om prosessen henger eller ikke. Alternativt så kan du, hvis prosessen støtter det, sende et signal til den og hvis den ikke svarer på dette signalet kan du gå ut ifra at den henger fast i en løkke et annet sted.

 

Men dette krever igjen støtte i prosessen som henger.

Lenke til kommentar

Igjen så kommer det an på prosessen det er snakk om.

 

Det beste rådet er å la en klient som normalt kobler til denne prosessen prøve å koble til og sjekke om den klarer å fullføre en tilkobling. Hvis ikke så må prosessen omstartes.

 

Det beste er jo selvfølgelig å finne ut hvorfor prosessen henger og reparere prosessen.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...