Es kommt mir manchmal vor, dass ich versehentlich CTRL+ drücke Zund meine Bewerbung im Hintergrund verschwindet. Ich weiß, ich kann es zurückbringen fg
, also ist es keine so große Sache. Aber ich frage mich job control
trotzdem, ob ich das ausschalten soll. In meinem ganzen Leben kann ich mich nicht an einen Fall erinnern, als ich ihn brauchte, er sieht für mich nur als Relikt aus der Vergangenheit aus.
Ist es in Ordnung, diese job control
vollständig zu deaktivieren ? Oder fehlt mir etwas und diese Funktion kann nützlich sein? Wie würde ich es in meinem deaktivieren.bashrc
AKTUALISIEREN:
Ich habe versucht, set +m
wie von @Falsenames vorgeschlagen. Dies funktioniert jedoch nur, wenn ich es in das Terminal eingebe. Das Hinzufügen set +m
zu my .bashrc
hat keine Auswirkung.
quelle
$-
(Liste der aktiven Optionen) nicht mehr enthält,m
wann Sie sieset +m
in Ihre Liste aufnehmen,~/.bashrc
deutet darauf hin, dass Bash versucht , die Jobsteuerung auszuschalten, dies aber letztendlich aufgrund eines Fehlers nicht tut - möglicherweise lohnt es sich, darüber zu berichten [email protected]Antworten:
Sie können Folgendes in Ihre Befehlszeile einfügen, um den Überwachungsmodus nicht mehr zu verwenden.
setze + m
Wenn Sie die Strg-Z-Funktion später wirklich benötigen, können Sie einfach 'set -m' eingeben, um die Überwachung für diese Sitzung zu aktivieren.
Von Mann schlagen . Beachten Sie, dass dies für '-m' gilt, wobei "+ m" diese Einstellung zum Deaktivieren umschaltet.
Als letzten Versuch möchten Sie möglicherweise eine Version von Bash ohne das Flag "--enable-job-control" manuell kompilieren. Hier ist eine Kurzanleitung zur Installation von GNU. Wenn Sie sich für diesen Weg entscheiden, ersetzen Sie / bin / bash NICHT, nur für den Fall, dass Hintergrundprozesse, die durch bash ausgeführt werden, die Jobsteuerung erwarten. Erstellen Sie stattdessen eine /bin/bash.alt oder eine andere Datei. Ihre Standard-Shell kann durch Ausführen von usermod oder Bearbeiten von / etc / passwd als root in diese alternative Shell geändert werden.
quelle
set +m
funktioniert im Terminal, aber wenn ich es zu meinem hinzufüge.bashrc
, hat es keine Auswirkung..bashrc
.stty susp undef
Deaktiviert das von der Tastatur initiierte Suspend-Signal für die meisten Programme. Befehle wievim
undemacs
mit bestimmten Bindungen Ctrl-Zmüssen jedoch einzeln neu konfiguriert werden.Sie können diesen stty-Befehl zu Ihrem
~/.bash_profile
oder~/.profile
, abmelden, erneut anmelden.quelle
mc
funktioniert es nicht. Was im Grunde bestätigt, was Sie gesagt haben. Gibt es keine universelle Lösung, die für alle funktioniert?set +m
funktioniert fürmc
, aber nur, wenn ich es in das Terminal tippe, nicht in.bashrc
oder.profile
.Um diesen Teil der Frage zu beantworten: Cz /
fg
Combo ist für meinen vim-Workflow von wesentlicher Bedeutung. Zum Beispiel, ziehe ich Cz>git commit
>fg
um mit git - Wrapper aus vim.Cz hilft bei der Behandlung der Shell als IDE und entspricht dem Prinzip " One One ". (Dies anstelle von "Editor als IDE").
quelle
^Z
ist absolut immer noch nützlich - aber es war noch nützlicher, wenn ein Terminal kein Fenster war, sondern eine Box vor Ihnen. Und du hattest nur einen.Fügen Sie
trap "" SIGTSTP
in Ihrem Skript hinzu. Es wird das Signal abfangen und ignorieren.quelle