5 ms·
Use exit() or Ctrl-D (i.e. EOF) to exit Gets me more often than I'd like to admit.
by flurie 14y ago
Use exit() or Ctrl-D (i.e. EOF) to exit
Gets me more often than I'd like to admit.
- moolcool 14y agoIs there any reason you can't ctrl-c out of man pages?
- pygy_ 14y agoI think that man uses 'less' as a pager, and 'less' uses vi-like key bindings. It enables you to search using '/keyword', for example.
- trumbitta2 14y agoThat's because vi uses less as a pager, too :)
- byroot 14y agoBecause 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.
- huhsamovar 14y agoIf you press 'q', the man page will close.
- maccard 14y agothat's great. but why doesn't ctrl c do it? I mean it closes everything else on my system, except man pages, vim and some other programs that use less.
- eurleif 14y agoThat message is generated by the __repr__() method, so it could get inadvertently triggered if it just exited automatically.
- fps 14y agoUse "logout" to leave the shell. Thanks, tcsh. Now I remember why I don't use you.
- pjscott 14y agoAnother reason to switch to IPython: if you type "exit", it will just exit. http://ipython.org/ http://ipython.org/
- Stratoscope 14y agoEven worse, on Windows the message is: Use exit() or Ctrl-Z plus Return to exit Well, first, there is no Return key on any PC keyboard I've seen in a very long time. There is an Enter key. But that's minor. The bad part is if I'm used to Linux and try to exit on Windows with Ctrl+D, I get this cryptic message: >>> ^D File "<stdin>", line 1 ♦ ^ SyntaxError: invalid syntax >>> Suppose it's the other way around: I started out as a Windows user and got accustomed to using Ctrl+Z to exit. Now what happens if I switch to Linux (as an inexperienced Linux user) and try to use Ctrl+Z to exit? Yes, I get this somewhat cryptic message: >>> [1]+ Stopped python mike@s:~$ Now, you know that I haven't exited Python at all but have merely backgrounded it, but remember I'm an inexperienced Linux user and don't know about fg and bg and stuff like that yet. So every time I "exit" from Python I've added another background task. Oops.