当我关闭 cygwin 终端窗口时,会出现如下消息:
Processes are running in session.
<list of processes>
Close anyway?
---------------------------
OK Cancel
---------------------------
我讨厌每次都按 OK 按钮。如何消除这个烦人的警告?我已经厌倦了在 Google 上搜索这个问题……
我正在 Win7-10 环境中工作。
答案1
这样就可以了。
mintty.exe -o ConfirmExit=no
这对于快捷方式文件非常有用*.lnk
。例如,这是我创建的用于查看日志的链接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'
使-s 54,78
窗口的高度与显示屏的高度相等,宽度与日志条目的宽度相等。 是-l -c
使 bash 能够在其$PATH
看:
$ 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.
答案2
看来您有点困惑:cygwin 是一个共享库。
您正在运行使用该库的程序。
我将尝试解释一下这种情况:
您启动了一个终端 (mintty),它当然会调用命令 shell (bash)。如果您从命令 shell 运行其他程序,则进程树将如下所示:
$ pstree
?───mintty───bash───pstree
这是一个最小树案例。
如果您从 shell 运行其他程序,并且不等待或请求它们结束,则当您要求 mintty 终止自身时,它会突出显示您正在运行的进程,并且关闭父进程 (mintty) 将强制关闭所有子进程。如果唯一的子进程是命令 shell,并且它处于非活动状态,mintty 将不需要确认,并将终止自身和 shell。
因此,您需要终止所有正在运行的进程,以便 mintty 停止并要求您确认是否杀死所有子进程。