[X2Go-Dev] Pull request: add --nofork option to x2gocleansessions
Andrew J. Hesford
ajh+x2go at sideband.org
Thu Jun 24 16:13:06 CEST 2021
Greetings,
Following is a pull request against the 4.1.0.x branch that separates
the no-fork behavior of x2gocleansessions from the debug output
behavior. A new flag, `--nofork` (`-n-` for short) determined whether
the program forks; `--debug` only controls the logging verbosity and
also forces `$nofork=1` to preserve old behavior.
Please let me know if anything should be changed.
Thanks,
Andrew Hesford
The following changes since commit cabad60865be64de219b3b477ddaefa6aef1cf43:
Continue development (2018-11-29 08:09:45 +0100)
are available in the Git repository at:
https://github.com/ahesford/x2goserver.git nofork
for you to fetch changes up to 4587d918c138205c252316c007fab31b75b87061:
Separate non-forking behavior from --debug into --nofork (2021-05-11 19:27:02 -0400)
----------------------------------------------------------------
Andrew J. Hesford (1):
Separate non-forking behavior from --debug into --nofork
x2goserver/sbin/x2gocleansessions | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/x2goserver/sbin/x2gocleansessions b/x2goserver/sbin/x2gocleansessions
index e78f677a..8e2ba433 100755
--- a/x2goserver/sbin/x2gocleansessions
+++ b/x2goserver/sbin/x2gocleansessions
@@ -40,15 +40,17 @@ use Pod::Usage;
Getopt::Long::Configure("gnu_getopt", "no_auto_abbrev");
my $debug = 0;
+my $nofork = 0;
my $help = 0;
my $man = 0;
-GetOptions('debug|d' => \$debug, 'help|?|h' => \$help, 'man' => \$man) or pod2usage(2);
+GetOptions('debug|d' => \$debug, 'nofork|n' => \$nofork, 'help|?|h' => \$help, 'man' => \$man) or pod2usage(2);
pod2usage(1) if $help;
pod2usage(-verbose => 2, -exitval => 0) if $man;
openlog($0,'cons,pid','user');
if ($debug)
{
+ $nofork = 1;
setlogmask( LOG_UPTO (LOG_DEBUG) );
}
else
@@ -99,12 +101,12 @@ my $uname;
my $serv = hostname;
my $pid;
-if (! $debug)
+if (! $nofork)
{
$pid = fork();
}
-if ((!$debug) && (not defined $pid))
+if ((!$nofork) && (not defined $pid))
{
print "resources not avilable.\n";
}
@@ -128,7 +130,7 @@ elsif ($pid == 0 )
my $superenice_idle=$Config->param("superenicer.idle-nice-level");
my $superenice_ignoredusers=$Config->param("superenicer.ignored-users");
- if ( ! $debug )
+ if ( ! $nofork )
{
# close any open file descriptor left open by our parent before the fork
my $fd;
@@ -377,7 +379,8 @@ x2gocleansessions [options]
Options:
--help|-h|-? brief help message
--man full documentation
- --debug|-d enable debugging and don't daemonize
+ --debug|-d enable debugging; implies --nofork
+ --nofork|-n don't daemonize
=head1 OPTIONS
@@ -393,8 +396,11 @@ Prints the manual page and exits.
=item B<--debug>|B<-d>
-Override debugging setting in global config and keep application in foreground
-instead of daemonizing.
+Override debugging setting in global config; implies B<--nofork>.
+
+=item B<--nofork>|B<-n>
+
+Keep application in foreground instead of daemonizing.
=back
More information about the x2go-dev
mailing list