-b option: redirect stdout/stderr to /dev/null, better explain -b in help, update manpage, and docs

This commit is contained in:
stefan schippers 2023-04-09 02:12:54 +02:00
parent 192e873f0c
commit f3196bbd10
4 changed files with 18 additions and 4 deletions

View File

@ -39,7 +39,7 @@ Print help and exit.
.TP .TP
.B -b, --detach .B -b, --detach
Detach xschem from console. Detach xschem from console (no output and no input from console)
.TP .TP
.B -n, --netlist .B -n, --netlist
@ -66,6 +66,10 @@ Set netlist type to Verilog.
Execute specified tcl instructions before any other action, this can be used to change xschemrc variables. Execute specified tcl instructions before any other action, this can be used to change xschemrc variables.
.TP .TP
.B --preinit <file>
Execute specified tcl instructions before any other action and before loading xschemrc.
.TP
.B --command <tcl_cmd> .B --command <tcl_cmd>
Execute specified tcl commands after completing startup. Execute specified tcl commands after completing startup.
.TP .TP
@ -74,6 +78,10 @@ Execute specified tcl commands after completing startup.
Execute specified tcl file as a command script (perhaps with xschem commands). Execute specified tcl file as a command script (perhaps with xschem commands).
.TP .TP
.B --diff <file>
Show differences with given file.
.TP
.B --tcp-port <number> .B --tcp-port <number>
Listen to specified tcp port for client connections. (number >=1024). Listen to specified tcp port for client connections. (number >=1024).
.TP .TP

View File

@ -47,7 +47,7 @@ user:~$ xschem .../xschem_library/examples/0_examples_top.sch
usage: xschem [options] [schematic | symbol ] usage: xschem [options] [schematic | symbol ]
Options: Options:
-h --help Print this help. -h --help Print this help.
-b --detach Detach Xschem from console and fork in the background. -b --detach Detach Xschem from console (no output and no input from console)
-n --netlist Do a netlist of the given schematic cell. -n --netlist Do a netlist of the given schematic cell.
-v --version Print version information and exit. -v --version Print version information and exit.
-V --vhdl Set netlist type to VHDL. -V --vhdl Set netlist type to VHDL.

View File

@ -101,7 +101,13 @@ int main(int argc, char **argv)
} }
if(detach) fclose(stdin); if(detach) {
fclose(stdin);
#ifdef __unix__
freopen("/dev/null", "w", stdout);
freopen("/dev/null", "w", stderr);
#endif
}
if(detach && has_x) { if(detach && has_x) {
Tcl_FindExecutable(argv[0]); /* tcl stores executable name for its internal usage */ Tcl_FindExecutable(argv[0]); /* tcl stores executable name for its internal usage */
interp = Tcl_CreateInterp(); /* create the tcl interpreter */ interp = Tcl_CreateInterp(); /* create the tcl interpreter */

View File

@ -1,7 +1,7 @@
usage: xschem [options] [schematic | symbol ] usage: xschem [options] [schematic | symbol ]
Options: Options:
-h --help Print this help. -h --help Print this help.
-b --detach Detach Xschem from console and fork in the background. -b --detach Detach Xschem from console (no output and no input from console)
-n --netlist Do a netlist of the given schematic cell. -n --netlist Do a netlist of the given schematic cell.
-v --version Print version information and exit. -v --version Print version information and exit.
-V --vhdl Set netlist type to VHDL. -V --vhdl Set netlist type to VHDL.