Annotation of freem/doc/freem.1, revision 1.7

1.1       snw         1: .\" To display this man page, either:
                      2: .\"   1) Install this file along with the other subject.1 files in your
                      3: .\"      system's man1 directory (usually this is /usr/man/man1) and
                      4: .\"      enter the command:
1.3       snw         5: .\"        man freem
1.1       snw         6: .\"   or
                      7: .\"   2) Specify the input (this file) and the output (your favorite pager)
                      8: .\"      explicitly.  For example, if this file is in your current working
                      9: .\"      directory, you can use the following to view the formatted man page
                     10: .\"      using the "less" pager:
1.3       snw        11: .\"        man ./freem.1 | less
1.1       snw        12: .\"
                     13: .\" To print this man page to a PostScript printer:
1.3       snw        14: .\"   man -t ./freem.1 | lpr
1.1       snw        15: .\"
1.7     ! snw        16: .\"   $Id: freem.1,v 1.6 2025/04/17 15:08:24 snw Exp $
1.1       snw        17: .\"    FreeM man page
                     18: .\"
                     19: .\"  
1.2       snw        20: .\"   Author: Serena Willis <snw@coherent-logic.com>
1.1       snw        21: .\"    Copyright (C) 1998 MUG Deutschland
1.3       snw        22: .\"    Copyright (C) 2020, 2025 Coherent Logic Development LLC
1.1       snw        23: .\"
                     24: .\"
                     25: .\"   This file is part of FreeM.
                     26: .\"
                     27: .\"   FreeM is free software: you can redistribute it and/or modify
                     28: .\"   it under the terms of the GNU Affero Public License as published by
                     29: .\"   the Free Software Foundation, either version 3 of the License, or
                     30: .\"   (at your option) any later version.
                     31: .\"
                     32: .\"   FreeM is distributed in the hope that it will be useful,
                     33: .\"   but WITHOUT ANY WARRANTY; without even the implied warranty of
                     34: .\"   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     35: .\"   GNU Affero Public License for more details.
                     36: .\"
                     37: .\"   You should have received a copy of the GNU Affero Public License
                     38: .\"   along with FreeM.  If not, see <https://www.gnu.org/licenses/>.
                     39: .\"
1.5       snw        40: .\"   $Log: freem.1,v $
1.7     ! snw        41: .\"   Revision 1.6  2025/04/17 15:08:24  snw
        !            42: .\"   Add documentation on FREEM_LOG_THRESHOLD environment variables to man pages
        !            43: .\"
1.6       snw        44: .\"   Revision 1.5  2025/04/04 12:49:19  snw
                     45: .\"   Dollar signs cut off in ENVIRONMENT sections of both man pages
                     46: .\"
1.5       snw        47: .\"   Revision 1.4  2025/04/03 15:56:41  snw
                     48: .\"   Add fmadm man page to CVS
                     49: .\"
1.1       snw        50: .\"
1.3       snw        51: .TH freem 1 "3 April 2025" FreeM "FreeM User Manual"
1.1       snw        52: .SH NAME
                     53: freem
                     54: .SH SYNOPSIS
                     55: .B freem [OPTION...]
                     56: .SH DESCRIPTION
                     57: The
                     58: .B freem
                     59: program runs an instance of
                     60: .IR "FreeM"
                     61: \.
                     62: 
                     63: FreeM is an implementation of the MUMPS programming language, began by the efforts of the mysterious Shalom ha-Ashkenaz. In response to InterSystems' spree of buying up all competing MUMPS implementations, Shalom gifted FreeM to MUG Deutschland in 1998, in hopes that the MUMPS community would turn it into a viable, freely available, and fully-featured MUMPS implementation.
                     64: 
                     65: After years of dormancy, the FreeM project has been resurrected, and under the stewardship of Coherent Logic Development and a small core team of contributors, work is proceeding towards completing the original FreeM team's goals, and much more.
                     66: 
                     67: More information is available at https://freem.coherent-logic.com/
                     68: 
                     69: Please see the FreeM texinfo documentation for language, database, and administration details ("info freem").
                     70: .SH OPTIONS
                     71: .TP
                     72: \-h, --help
1.7     ! snw        73: .RS 4
1.3       snw        74: Display a list of freem command-line flags
1.7     ! snw        75: .RE
1.1       snw        76: .TP
                     77: \-i, --import
1.7     ! snw        78: .RS 4
1.3       snw        79: Imports UNIX environment variables as M locals
1.7     ! snw        80: .RE
1.3       snw        81: .TP
                     82: \-e <environment-name>, --environment=<environment-name>
1.7     ! snw        83: .RS 4
        !            84: Sets active environment to
        !            85: \fI<environment-name>\fR;
        !            86: \fIDEFAULT\fR if unspecified
        !            87: .RE
1.1       snw        88: .TP
                     89: \-f, --filter
1.7     ! snw        90: .RS 4
1.3       snw        91: Allows M code to be used as a filter
1.7     ! snw        92: .RE
1.1       snw        93: .TP
                     94: \-n <NAMESPACE>, --namespace=<NAMESPACE>
1.7     ! snw        95: .RS 4
        !            96: Selects
        !            97: \fI<NAMESPACE>\fR as the startup namespace instead of
        !            98: \fIUSER\fR
        !            99: .RE
1.1       snw       100: .TP
                    101: \-q, --quiet
1.7     ! snw       102: .RS 4
        !           103: Disables startup messages and prompt string
        !           104: .RE
1.1       snw       105: .TP
1.3       snw       106: \-r <LABEL^ROUTINE>, --routine=<LABEL^ROUTINE>
1.7     ! snw       107: .RS 4
        !           108: Executes
        !           109: \fI<LABEL^ROUTINE>\fR on startup instead of entering direct mode
        !           110: .RE
        !           111: .TP
1.3       snw       112: \-s <standard>, --standard=<standard>
1.7     ! snw       113: .RS 4
        !           114: Restricts access to FreeM vendor extensions not present in relevant standards
        !           115: \fI*\fR. In this flag,
        !           116: \fI<standard>\fR can be:
        !           117: .sp
        !           118: .RS 4
        !           119: .ie n \{\
        !           120: \h'-04'\(bu\h'+03'\c
        !           121: .\}
        !           122: .el \{\
        !           123: .sp -1
        !           124: .IP \(bu 2.3
        !           125: .\}
        !           126: M77
        !           127: .RE
        !           128: .sp
        !           129: .RS 4
        !           130: .ie n \{\
        !           131: \h'-04'\(bu\h'+03'\c
        !           132: .\}
        !           133: .el \{\
        !           134: .sp -1
        !           135: .IP \(bu 2.3
        !           136: .\}
        !           137: M84
        !           138: .RE
        !           139: .sp
        !           140: .RS 4
        !           141: .ie n \{\
        !           142: \h'-04'\(bu\h'+03'\c
        !           143: .\}
        !           144: .el \{\
        !           145: .sp -1
        !           146: .IP \(bu 2.3
        !           147: .\}
        !           148: M90
        !           149: .RE
        !           150: .sp
        !           151: .RS 4
        !           152: .ie n \{\
        !           153: \h'-04'\(bu\h'+03'\c
        !           154: .\}
        !           155: .el \{\
        !           156: .sp -1
        !           157: .IP \(bu 2.3
        !           158: .\}
        !           159: M95
        !           160: .RE
        !           161: .sp
        !           162: .RS 4
        !           163: .ie n \{\
        !           164: \h'-04'\(bu\h'+03'\c
        !           165: .\}
        !           166: .el \{\
        !           167: .sp -1
        !           168: .IP \(bu 2.3
        !           169: .\}
        !           170: MDS
        !           171: .RE
        !           172: .sp
        !           173: .RS 4
        !           174: .ie n \{\
        !           175: \h'-04'\(bu\h'+03'\c
        !           176: .\}
        !           177: .el \{\
        !           178: .sp -1
        !           179: .IP \(bu 2.3
        !           180: .\}
        !           181: M5
        !           182: .RE
        !           183: .sp
        !           184: .RS 4
        !           185: .ie n \{\
        !           186: \h'-04'\(bu\h'+03'\c
        !           187: .\}
        !           188: .el \{\
        !           189: .sp -1
        !           190: .IP \(bu 2.3
        !           191: .\}
        !           192: FREEM
        !           193: 
        !           194: .RE
        !           195: \fB*\fR FreeM is not entirely compliant with any MDC standard, regardless of the value of the
        !           196: \fI--standard\fR command-line flag.
        !           197: 
        !           198: See the
        !           199: \fBCompliance Clause\fR on the FreeM Wiki for more information on FreeM's deviations from MDC standards.
        !           200: .RE
1.1       snw       201: .TP
                    202: \-v, --version
1.3       snw       203: Display FreeM version information
1.1       snw       204: .TP
                    205: \-x <MCODE>, --execute=<MCODE>
1.3       snw       206: Execute M code <MCODE> on startup
                    207: .TP
                    208: \-d, --daemon
                    209: Run the FreeM daemon (one and only one FreeM daemon must always be running for each configured environment)
                    210: .TP
                    211: \-k, --nofork
                    212: Run the FreeM daemon in foreground (requires --daemon)
                    213: .TP
                    214: \-S <BYTES>, --shmsize=<BYTES>
                    215: Sets the size of the shared memory segment where FreeM stores the job table, lock table, and IPC table.
                    216:  - Each concurrent job takes 1024 bytes (1 page) of shared memory
                    217:  - Each LOCK takes 2048 bytes (2 pages) of shared memory
                    218:  - Each IPC takes 1024 bytes (1 page) of shared memory
1.1       snw       219: .SH "RETURN VALUES"
                    220: Returns 0 for non-error condition.
                    221: .SH FILES
                    222: .TP
1.3       snw       223: env.conf
                    224: The FreeM environment catalog. Normally located in $PREFIX/etc/freem/env.conf
                    225: .TP
1.1       snw       226: freem.conf
1.3       snw       227: The FreeM configuration file. Normally located in $PREFIX/etc/freem/<environment-name>/freem.conf.
1.1       snw       228: .SH ENVIRONMENT
1.3       snw       229: .TP
1.5       snw       230: $DISPLAY
1.3       snw       231: Determines the value of the $PDISPLAY intrinsic special variable. This determines the X11 display used by the M Windowing API. Only applies when FreeM is built with the '--enable-mwapi' configuration option.
                    232: .TP
1.5       snw       233: $TERM
1.3       snw       234: Used by the ^$DEVICE structured system variable to provide the TERMID value for I/O channel 0.
1.6       snw       235: .TP
                    236: $FREEM_LOG_THRESHOLD_FILE
                    237: Overrides the configured threshold at which log messages are written to files in /var/log/freem, corresponding to the log_threshold_file environment setting in $PREFIX/etc/env.conf. The default value is "info".
                    238: .TP
                    239: $FREEM_LOG_THRESHOLD_SYSLOG
                    240: Overrides the configured threshold at which log messages are sent to the syslog facility on systems that support it, corresponding to the log_threshold_syslog environment setting in $PREFIX/etc/env.conf. The default value is "info".
                    241: .TP
                    242: $FREEM_LOG_THRESHOLD_STDERR
                    243: Overrides the configured threshold at which log messages are sent to stderr, corresponding to the log_threshold_stderr environment setting in $PREFIX/etc/env.conf. The default value is "warning".
                    244: .SH LOG THRESHOLD VALUES
                    245: This section details the valid values for each of the $FREEM_LOG_THRESHOLD_* environment variables, and each value indicates a minimum diagnostic level at which the indicated class of message will be delivered through the selected mechanism. All messages with an equal or higher diagnostic level than the class indicated will be delivered, i.e., if "warning" is selected, messages with a diagnostic class of warning, error, and fatal will be delivered through the selected mechanism.
                    246: 
                    247: Valid values for each of these environment variables are as follows:
                    248: .TP
                    249: debug
                    250: Messages useful mostly for developers contributing to FreeM itself. Will produce a high volume of log messages, and is likely to impact system performance. Not recommended for production usage.
                    251: .TP
                    252: info
                    253: Includes messages of an informational nature. Will produce a moderately high volume of log messages. For heavily multi-user and multi-process systems, it is recommended to use "warning" instead.
                    254: .TP
                    255: warning
                    256: Includes warning messages. These indicate conditions (including retries when attempting to acquire semaphores) that warrant further investigation by the system operator, but do not typically prevent applications from running.
                    257: .TP
                    258: error
                    259: Includes error messages. This class of messages indicates that a recoverable error has occurred in the FreeM engine. Warrants immediate attention by the system operator.
                    260: .TP
                    261: fatal
                    262: Includes messages indicating errors that are not recoverable. If this class of message occurs, the process that triggered the message has terminated abnormally. Requires immediate system operator intervention, and can indicate gross misconfiguration of the FreeM engine or the host operating system environment, or even a FreeM bug.
                    263: 
1.1       snw       264: .SH BUGS
1.3       snw       265: Check the issue tracker at https://bugs.coherent-logic.com for more detailed information on current bugs.
1.1       snw       266: .SH AUTHOR
                    267: Provided by Shalom ha-Ashkenaz, 1998/06/18 CE, to the stewardship of the
                    268: MUG Deutschland. The GUMP (Generic Universal M Project) took over after this point,
1.2       snw       269: and ownership of the original SourceForge project was handed over to Serena Willis of
1.1       snw       270: Coherent Logic Development LLC in 2014.
                    271: .br
                    272: The author's identity is a mystery.  Can anyone shed light on this?
                    273: .br
                    274: 
                    275: .br
                    276: Man page written by Ron Fox (rfox@dls.queens.org)
                    277: .br
1.2       snw       278: Maintained and updated by Serena Willis (snw@coherent-logic.com)
1.1       snw       279: .SH COPYRIGHT
                    280: 
                    281: Copyright (C) 1998 MUG Deutschland
                    282: .br
1.4       snw       283: Copyright (C) 2025 Coherent Logic Development LLC
                    284: 
                    285: Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover texts, and with no Back-Cover Texts.
1.7     ! snw       286: .SH FILES
        !           287: .PP
        !           288: $PREFIX/etc/freem/env.conf
        !           289: .RS 4
        !           290: FreeM environment catalog
        !           291: .RE
        !           292: .PP
        !           293: $PREFIX/etc/freem/<environment-name>/freem.conf
        !           294: .RS 4
        !           295: FreeM per-environment configuration
1.1       snw       296: .SH "SEE ALSO"
1.7     ! snw       297: .PP
        !           298: \fBfmadm\fR(8),
        !           299: \fBenv.conf\fR(5),
        !           300: \fBfreem.conf\fR(5)

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>