# Common Gateway Interface > [HTML Version](commongatewayint.htm) The **–cgi** switch invokes a number of features which simplify the use of A-Shell and CGI (Common Gateway Interface) or web programming. One feature of the –cgi switch is an automatic 7 second inactivity timeout. CGI processes should be quick, usually completing in less than a second, but in any case there wouldn’t be any purpose in the process being inactive this long. More importantly -cgi swaps _stdout_ and _stderr_ so that normal screen output goes to _stderr_ instead of _stdout_. The purpose of this seemingly senseless trick is to allow your CGI programs to continue to use PRINT statements (possibly for debugging, or possibly because you were converting a normal program to CGI use and didn’t get rid of all the PRINT statements) without interfering with the web output. By sending such output to the _stderr_ channel, not only does it stay out of the way of the web page but it can also be redirected to a file (convenient for debugging.) In order to output to the new web page, you must then use CGIUTL. _Stdout_ and _stderr_ refer to the "standard output" and "standard error output" streams of Unix programs. See the subroutine [CGIUTL](cgiutlsbr.htm.md) and the section on web programming for more details.