X11 Terminal (xterm) - Programm abbrechen

Dieses Thema im Forum "Mac OS X - Unix & Terminal" wurde erstellt von Spacemojo, 24.11.2005.

  1. Spacemojo

    Spacemojo Thread Starter MacUser Mitglied

    Beiträge:
    616
    Zustimmungen:
    21
    MacUser seit:
    16.05.2004
    Hi!
    Wenn ich im "normalen" Terminal ein Programm starte, kann ich es mit CTRL-C abbrechen.
    Wie geht das beim X11 Terminal? Wenn ich da CTRL-C mache, kommt nur "^C"

    Tobi
     
  2. maga

    maga MacUser Mitglied

    Beiträge:
    308
    Zustimmungen:
    1
    MacUser seit:
    23.02.2003
    Hallo Tobi,

    wenn ich z.B. du eingebe, kann ich die Auflistung der Verzeichnisgrößen ganz einfach mit ctl+c unterbrechen. Wird zwar auch ^c angezeigt, aber der Prozess wird unterbrochen.

    Welches Programm willst Du denn "abschießen" ?

    Viele Grüße

    Matthias
     
  3. TerminalX

    TerminalX MacUser Mitglied

    Beiträge:
    1.800
    Zustimmungen:
    108
    MacUser seit:
    12.01.2004
    Genau. :)
    Wenn das nicht mehr geht, hilft Force Quit vom X11. Dann ist natürlich das ganze X11 beendet.

    PS: @maga lustiges Avatar. :D
     
  4. oneOeight

    oneOeight MacUser Mitglied

    Beiträge:
    46.804
    Zustimmungen:
    3.633
    MacUser seit:
    23.11.2004
    das mit dem ctrl-c ist schon richtig. wenn da ^C erscheint, dann scheint das programm dann nicht direkt auf das signal zu reagieren...
    alternativ kannst du mal ctrl-z (ist halt suspend) probieren und dann ein kill...
     
  5. TerminalX

    TerminalX MacUser Mitglied

    Beiträge:
    1.800
    Zustimmungen:
    108
    MacUser seit:
    12.01.2004
    ich würde mal behaupten es liegt am Terminal, dass ^C dahinstehen kommt. Wenn du z.b. ein ls in einem Ordner mit sehr vielen Dateien machst und bevor er fertig ist, etwas schreibst, wird es mitten in die Anzeige des ls Befehls geschrieben und nachher noch einmal bei einer frischen Eingabezeile.
    Daher würde ich sagen wird ^C zuerst geschrieben und dann danach erkennt das Terminal erst um was es sich handelt und bricht das laufende Programm ab.
     
  6. Spacemojo

    Spacemojo Thread Starter MacUser Mitglied

    Beiträge:
    616
    Zustimmungen:
    21
    MacUser seit:
    16.05.2004
    Ich hab ein selber geschriebenes Programm, das was berechnet.
    Im "normalen" Terminal kann ich es mit CTRL-C beenden, beim xterm nicht.

    Jedes mal das xterm zu killen, in dem das Programm läuft ist nicht recht elegant.


    Tobi
     
  7. TerminalX

    TerminalX MacUser Mitglied

    Beiträge:
    1.800
    Zustimmungen:
    108
    MacUser seit:
    12.01.2004
    Dann teste es im normalen Terminal und schreib dein Programm so, dass man es nachher nicht mehr mit CTRL+C beenden zu muss.
    Und ich frage mich, wieso es denn bei ls geht und bei deinem Programm nicht? Liegt sicher nicht an xterm. :)
     
  8. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    Dann solltest Du in das Programm einen Signal Handler einbauen, der vorgibt, was passiert, wenn ein Signal an das Programm geschickt wird.
    ^C sendet ein INT Signal an Dein Programm.
    Der Signal Handler sollte das Signal abfangen und dann das Programm möglichst sauber beenden.
    Bist Du soweit bist, kannst Du dem Programm aus einem anderen xterm heraus mit dem kill Befehl ein anderes Signal (z.B. TERM schicken).
     
  9. bene.b

    bene.b MacUser Mitglied

    Beiträge:
    34
    Zustimmungen:
    0
    MacUser seit:
    02.05.2004
    Das sollte auf jeden Fall funktionieren, da hier die Shell den aktuellen Prozeß anhält und in den Hintergrund legt und das Programm da erstmal nichts mit zu tun hat.

    Allerdings ist es schon komisch, dass das Programm auf den intr des Terminals reagiert, den des XTerms aber anscheinend ignoriert.
    Sind schon komische Dinger diese Computer :rolleyes:

    Grüße
    bene
     
Die Seite wird geladen...

Diese Seite empfehlen