|  | 		    
					
        
         
          
         
	
          | |  | Ctrl/C og Ctrl/Z Fra : Morten Lehrmann
 | 
 Dato :  18-01-01 18:15
 | 
 |  | 
 Hvorfor er Ctrl/Z bedre til at afbryde en kørende forgrundssproces end Ctrl/C ?
 
 Ofte kan jeg ikke afbryde med Ctrl/C, men må i stedet bruge Ctrl/Z og kill fra kommandolinien.
 
 Hvordan virker de to tastsekvenser mere teknisk (fx hvilke kill-signaler sender de)?
 
 
 Mvh
 Morten
 
 
 |  |  | 
  news.sunsite.dk (18-01-2001) 
 
	
          | |  | Kommentar Fra : news.sunsite.dk
 | 
 Dato :  18-01-01 19:35
 | 
 |  | > Hvorfor er Ctrl/Z bedre til at afbryde en kørende forgrundssproces end
 Ctrl/C ?
 
 Det er svjv 2 forskellige ting de gør...
 
 > Ofte kan jeg ikke afbryde med Ctrl/C, men må i stedet bruge Ctrl/Z og kill
 fra kommandolinien.
 
 ctrl-z ligger processen i baggrunden... du får et nummer når du trykker
 ctrl-z midt i et program... processen bliver vidst lagt i dvale. Så kan du
 bruge kommandoen fg til at hitte den frem igen... se kommandoerne fg
 (foreground),bg (background) og jobs.
 
 ctrl-c afbryde processen helt.
 
 /Danni
 
 
 
 
 |  |  | 
  Zurfer (19-01-2001) 
 
	
          | |  | Kommentar Fra : Zurfer
 | 
 Dato :  19-01-01 10:17
 | 
 |  | In article <oHG96.41880$W81.443355@twister.sunsite.dk>, "news.sunsite.dk"
 <danni@finne.dk> wrote:
 
 > ctrl-z ligger processen i baggrunden... du får et nummer når du trykker
 > ctrl-z midt i et program... processen bliver vidst lagt i dvale. Så kan
 > du bruge kommandoen fg til at hitte den frem igen... se kommandoerne fg
 > (foreground),bg (background) og jobs.
 
 Er der ikke en ctrl-etellerandet til at fortsætte med at køre processen
 så man kan komme til at skrive i sin prompt igen...eller skal man trykke
 ctrl-z og så skifte processen med fg  .??
 
 Kenneth
 
 
 |  |  | 
   Rasmus Bøg Hansen (19-01-2001) 
 
	
          | |  | Kommentar Fra : Rasmus Bøg Hansen
 | 
 Dato :  19-01-01 14:34
 | 
 |  | On Fri, 19 Jan 2001, Zurfer wrote:
 
 > In article <oHG96.41880$W81.443355@twister.sunsite.dk>, "news.sunsite.dk"
 > <danni@finne.dk> wrote:
 >
 > > ctrl-z ligger processen i baggrunden... du får et nummer når du trykker
 > > ctrl-z midt i et program... processen bliver vidst lagt i dvale. Så kan
 > > du bruge kommandoen fg til at hitte den frem igen... se kommandoerne fg
 > > (foreground),bg (background) og jobs.
 >
 > Er der ikke en ctrl-etellerandet til at fortsætte med at køre processen
 > så man kan komme til at skrive i sin prompt igen...eller skal man trykke
 > ctrl-z og så skifte processen med fg  .??
 
 ctrl-z sender et STOP signal til processen. Dette kan ikke famges af
 processen, hvorfor den altid vil virke (medmindre den hænger meget længe
 i et eller andet kernekald). For at bringe den frem igen skal den have
 et CONT signal - og der SVJH ingen shells, der implementerer dette som
 et ctrl+?...
 
 INTR - interrupt -(som CTRL sender) kan fanges og ignoreres af
 programmet. Gør den dette, kan det ikke afbrydes med ctrl+c. KILL (kill
 -9) kan dog ikke fanges, så vejen frem for at afslutte et dødt program,
 der ikke reagerer på ctrl+c er desværre kun ctrl+z og kill -9 (eller
 evt. kill -9 fra en anden shell - eller fra en eller anden grafisk
 ting).
 
 Rasmus Bøg Hansen
 
 
 
 |  |  | 
    Thorbjørn Ravn Ander~ (19-01-2001) 
 
	
          | |  | Kommentar Fra : Thorbjørn Ravn Ander~
 | 
 Dato :  19-01-01 15:31
 | 
 |  | 
 
            Rasmus Bøg Hansen wrote:
 > ctrl-z sender et STOP signal til processen. Dette kan ikke famges af
 > processen, hvorfor den altid vil virke (medmindre den hænger meget længe
 > i et eller andet kernekald). For at bringe den frem igen skal den have
 > et CONT signal - og der SVJH ingen shells, der implementerer dette som
 > et ctrl+?...
 Joda.  Prøv fx at taste Ctrl-Z i Emacs.
 > INTR - interrupt -(som CTRL sender) kan fanges og ignoreres af
 > programmet. Gør den dette, kan det ikke afbrydes med ctrl+c. KILL (kill
 > -9) kan dog ikke fanges, så vejen frem for at afslutte et dødt program,
 > der ikke reagerer på ctrl+c er desværre kun ctrl+z og kill -9 (eller
 > evt. kill -9 fra en anden shell - eller fra en eller anden grafisk
 > ting).
 Zombies kan ikke kildes.  De er nemlig allerede døde.  Bare lige for en
 god ordens skyld så står de med "Z" i ps.
 -- 
   Thorbjørn Ravn Andersen              "...sound of...Tubular Bells!"
  http://bigfoot.com/~thunderbear |  |  | 
     Rasmus Bøg Hansen (19-01-2001) 
 
	
          | |  | Kommentar Fra : Rasmus Bøg Hansen
 | 
 Dato :  19-01-01 17:43
 | 
 |  | On Fri, 19 Jan 2001, Thorbjørn Ravn Andersen wrote:
 
 > Rasmus Bøg Hansen wrote:
 >
 > > ctrl-z sender et STOP signal til processen. Dette kan ikke famges af
 > > processen, hvorfor den altid vil virke (medmindre den hænger meget længe
 > > i et eller andet kernekald). For at bringe den frem igen skal den have
 > > et CONT signal - og der SVJH ingen shells, der implementerer dette som
 > > et ctrl+?...
 >
 > Joda.  Prøv fx at taste Ctrl-Z i Emacs.
 
 Emacs er jo heller ikke en terminalemulator. Terminalemulatoren (f.
 eks. xterm) fanger ctrl-z og sender stop-signal til forgrundsprocessen i
 terminalvinduet. Det gør X ikke.
 
 Men jeg tilstår; det er ikke ens shell, der fanger ctrl+z - den rykker
 bare sig selv til forgrunden, når dens barneproces bliver stoppet. Måske
 man kan sætte xterm op til at fortolke et ctrl+? som et CONT signal?
 
 > > INTR - interrupt -(som CTRL sender) kan fanges og ignoreres af
 > > programmet. Gør den dette, kan det ikke afbrydes med ctrl+c. KILL (kill
 > > -9) kan dog ikke fanges, så vejen frem for at afslutte et dødt program,
 > > der ikke reagerer på ctrl+c er desværre kun ctrl+z og kill -9 (eller
 > > evt. kill -9 fra en anden shell - eller fra en eller anden grafisk
 > > ting).
 >
 > Zombies kan ikke kildes.  De er nemlig allerede døde.  Bare lige for en
 > god ordens skyld så står de med "Z" i ps.
 
 Korrekt. Nu tænkte jeg nu også mest på almindelige kørende processer -
 ikke processer, der hænger i et langt, blokerende systemkald eller
 zombier.
 
 Rasmus Bøg Hansen
 
 
 
 |  |  | 
  frank damgaard (18-01-2001) 
 
	
          | |  | Kommentar Fra : frank damgaard
 | 
 Dato :  18-01-01 18:55
 | 
 |  | Morten Lehrmann <mle000@lehrmann.dk> wrote:
 
 > Hvorfor er Ctrl/Z bedre til at afbryde en kørende forgrundssproces end Ctrl/C ?
 > Ofte kan jeg ikke afbryde med Ctrl/C, men må i stedet bruge Ctrl/Z og kill fra kommandolinien.
 > Hvordan virker de to tastsekvenser mere teknisk (fx hvilke kill-signaler sender de)?
 
 Ctrl-Z er ofte sæt i stå / suspend (men ikke afbryd)
 og Ctrl-C er "intr"
 Se  stty -a
 speed 9600 baud; rows 30; columns 80; line = 0;
 intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
 eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
 lnext = ^V; flush = ^O; min = 1; time = 0;
 .....
 
 Men programmer kan vælge at undlade at reagere på visse signaler.
 (dog ikke kill -9 !)
 Eller der skal laves noet oprydning når programmet modtager "intr".
 Ved Ctrl-Z er oprydning måske ikke nødvendig men hvis der skal laves
 noget ved afslut (måske netværksrelateret) og det hænger, så er det
 måske problemet opstår?
 
 
 --
 Frank Damgaard
 
 
 
 |  |  | 
 |  |