HEX
Server: Apache/2.4.29 (Ubuntu)
System: Linux bareserver 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
User: root (0)
PHP: 7.2.24-0ubuntu0.18.04.17
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: //usr/share/webmin/status/proftpd-monitor.pl
# proftpd-monitor.pl
# Monitor the ProFTPD server on this host

# Check the PID file to see if proftpd is running
sub get_proftpd_status
{
return { 'up' => -1 } if (!&foreign_check($_[1]));
local %pconfig = &foreign_config($_[1]);
-r $pconfig{'proftpd_path'} || return { 'up' => -1 };
&foreign_require($_[1], "proftpd-lib.pl");
local $r = &foreign_call($_[1], "is_proftpd_running");
if ($r < 0) {
	return { 'up' => -1 };
	}
elsif ($r > 0) {
	return { 'up' => 1 };
	}
else {
	return { 'up' => 0 };
	}
}

sub parse_proftpd_dialog
{
&error($text{'proftpd_etype'}) if (&run_from_inetd());
}

sub run_from_inetd
{
local $m = $_[0]->{'clone'} || "proftpd";
&foreign_require($m, "proftpd-lib.pl");
local $conf = &foreign_call($m, "get_config");
local $st = &foreign_call($m, "find_directive", "ServerType", $conf);
return lc($st) eq 'inetd';
}

1;