7 ms·
Because it use less as default pager and less is an interactive utility. If you prefer you can use another pager like more that will let you ctrl-c: export
by byroot 14y ago
Because it use less as default pager and less is an interactive utility.
If you prefer you can use another pager like more that will let you ctrl-c:
export PAGER=more
Or activate the -K option of less that will quit on ctrl+c
export PAGER='less -K'
- nailer 14y agoWhy can't interactive utilities be cancelled?
- azernik 14y agoThey can be cancelled, just not with CTRL+C - that key combo sends SIGINT [1] to the process, which can be caught by a handler, and often is when the writer of the utility thought there was something else that users would want that signal to do instead of quit. For example, in less, SIGINT will stop a long-running text search that's taking too much time. [1] http://en.wikipedia.org/wiki/SIGINT_%28POSIX%29#SIGINT http://en.wikipedia.org/wiki/SIGINT_%28POSIX%29#SIGINT
- Karunamon 14y agoWouldn't this mean that the application has some concept of state, then? Following output, running a search, etc? If your state is just sitting in the file, interpret the signal as exit.
- raylu 14y agoIt would be pretty annoying if I ran a search or a follow (shift+F), thought it was taking too long, and hit Ctrl+C right after it finished. Ctrl+C doesn't mean "end this program." If you want that, consider Ctrl+\.
- nitrogen 14y agoEven Ctrl+\ (SIGQUIT) doesn't always "end this program." Java uses it to print a stack trace to the console.
- LeonidasXIV 14y agoMost Java programs I have to deal with print stack traces to the console even without prompting because somebody thought that the `ex.printStackTrace();` IDE autofix is definitely more than enough to handle an exception.
- tjoff 14y agoSo if the search finished just before issue ctrl+c you will close the application instead. Be vary of inconsistencies, even if they are just perceived inconsistencies.
- jlgreco 14y agoIt is possible, though arguably it wouldn't necessarily be the best user experience. At least I know I have the habit of smacking ctrl-c several times in a row when something isn't responding as rapidly as I like. Things like ctrl-c probably should not be stateful if one of the potential things it can do is close your program. As another example, perhaps it would be nice if ctrl-w deleted one word backwards if you were currently editing text in your webbrowser, but close your current tab/window otherwise. If the state is always what the user expects when they press ctrl-w it would work fine, but in reality you would have lots of people accidentally closing tabs.
- nailer 14y agoSIGINT in less wouldn't lose work though. It's safe and would be consistent with other apps and other uses of SIGINT inside less.