Menekan peringatan cygwin tentang proses yang sedang berjalan

3

Ketika saya menutup jendela terminal cygwin, pesan seperti di bawah ini muncul:

Processes are running in session.
<list of processes>
Close anyway?
---------------------------
OK   Cancel   
---------------------------

Dan saya benci menekan tombol OK setiap saat. Bagaimana cara menekan peringatan yang menjengkelkan ini? Saya sudah lelah dengan masalah ini di Google ...

Saya sedang mengerjakan Win7-10 env.

zhekaus
sumber
Mintty kemungkinan meminta izin untuk membunuh bash. Mengapa Anda tidak menutup pesta dengan exit ?
matzeri
Saya tidak sengaja membuka bash. Ini terbuka secara otomatis ketika saya memulai cygwin.
zhekaus
Kami ingin dapat menekan tombol tutup tanpa peringatan. Saya memiliki cara pintas yang melakukan hal-hal seperti tail -f file log. Saya tidak perlu diperingatkan saat menutup itu.
Bruno Bronosky

Jawaban:

1

Ini akan melakukannya.

mintty.exe -o ConfirmExit=no

Ini sangat berguna untuk Shortcut *.lnk file. Misalnya, ini adalah tautan yang saya buat untuk menonton log tail -f:

C:\tools\cygwin\bin\mintty.exe -o ConfirmExit=no -s 54,78 -e /usr/bin/bash -l -c 'tail -n 200 -f /cygdrive/c/logs/NSSM.log'

Itu -s 54,78 menyebabkan jendela menjadi ketinggian penuh tampilan dan persis lebar entri log. Itu -l -c diperlukan untuk membuat bash dapat menemukan file executable di dalamnya $PATH

Lihat:

$ mintty.exe --help
Usage: mintty [OPTION]... [ PROGRAM [ARG]... | - ]

Start a new terminal session running the specified program or the user's shell.
If a dash is given instead of a program, invoke the shell as a login shell.

Options:
  -c, --config FILE     Load specified config file (cf. -C or -o ThemeFile)
  -e, --exec ...        Treat remaining arguments as the command to execute
  -h, --hold never|start|error|always  Keep window open after command finishes
  -p, --position X,Y    Open window at specified coordinates
  -p, --position center|left|right|top|bottom  Open window at special position
  -p, --position @N     Open window on monitor N
  -s, --size COLS,ROWS  Set screen size in characters (also COLSxROWS)
  -s, --size maxwidth|maxheight  Set max screen size in given dimension
  -t, --title TITLE     Set window title (default: the invoked command) (cf. -T)
  -w, --window normal|min|max|full|hide  Set initial window state
  -i, --icon FILE[,IX]  Load window icon from file, optionally with index
  -l, --log FILE|-      Log output to file or stdout
      --nobidi|--nortl  Disable bidi (right-to-left support)
  -o, --option OPT=VAL  Set/Override config file option with given value
  -B, --Border frame|void  Use thin/no window border
  -R, --Reportpos s|o   Report window position (short/long) after exit
      --nopin           Make this instance not pinnable to taskbar
  -D, --daemon          Start new instance with Windows shortcut key
  -H, --help            Display help and exit
  -V, --version         Print version information and exit
See manual page for further command line options and configuration.

Saya menemukan opsi untuk -o di https://mintty.github.io/mintty.1.html#CONFIGURATION

Bruno Bronosky
sumber
0

Tampaknya Anda agak bingung: cygwin adalah perpustakaan bersama.
Anda menjalankan program yang menggunakan perpustakaan itu.

Saya akan mencoba menjelaskan situasinya:

Anda memulai terminal (mintty) yang tentu saja memanggil shell perintah (bash). Jika Anda menjalankan program tambahan dari shell perintah, pohon proses akan seperti :

$ pstree
?───mintty───bash───pstree

Ini adalah kasus pohon minimal.

Jika Anda menjalankan program tambahan dari shell dan Anda tidak menunggu atau meminta akhirnya, ketika Anda meminta permen agar dihentikan sendiri, itu akan menyoroti Anda bahwa Anda telah menjalankan proses dan bahwa penutupan proses ayah (mintty) akan memaksa penutupan semua anak-anak. Jika satu-satunya anak adalah shell perintah, dan tidak aktif, mintty tidak akan memerlukan konfirmasi dan akan mengakhiri dirinya sendiri dan shell.

Jadi, Anda perlu menghentikan semua proses yang sedang berjalan untuk menghentikan pembayaran untuk meminta Anda konfirmasi untuk membunuh semua anak.

matzeri
sumber
Kami mengerti mengapa kami mendapat peringatan. Kami ingin opsi untuk menekannya sehingga kami cukup mengklik tombol tutup.
Bruno Bronosky