MOON
Server: Apache
System: Linux cl1170g 4.19.62-mod-std-ipv6-64-rescue #828825 SMP Tue Jul 30 13:54:49 UTC 2019 x86_64
User: wh0f20bb (1057)
PHP: 5.6.40
Disabled: NONE
Upload Files
File: //proc/thread-self/root/root/webmin-1.881/samba/restart.cgi
#!/usr/bin/perl
# restart.cgi
# Kill all smbd and nmdb processes and re-start them

require './samba-lib.pl';

&error_setup("$text{'eacl_aviol'}ask_epass.cgi");
&error("$text{'eacl_np'} $text{'eacl_papply'}") unless $access{'apply'};

&error_setup($text{'restart_err'});

if ($config{'restart_cmd'}) {
	# Just use a single restart command
	$rv = &system_logged(
		"$config{'restart_cmd'} >/dev/null 2>&1 </dev/null");
	if ($rv) { &error(&text('restart_fail', $config{'restart_cmd'})); }
	}
else {
 	# Stop first
	if ($config{'stop_cmd'}) {
		&system_logged(
			"$config{'stop_cmd'} >/dev/null 2>&1 </dev/null");
		}
	else {
		@smbpids = &find_byname("smbd");
		@nmbpids = &find_byname("nmbd");
		&kill_logged('TERM', @smbpids, @nmbpids);
		}

	# Allow Samba some time to shut down
	sleep(2);

	# Start up again
	if ($config{'start_cmd'}) {
		$rv = &system_logged(
			"$config{'start_cmd'} >/dev/null 2>&1 </dev/null");
		if ($rv) {
			&error(&text('start_fail', $config{'start_cmd'}));
			}
		}
	else {
		$rv = &system_logged(
			"$config{samba_server} -D >/dev/null 2>&1 </dev/null");
		if ($rv) {
			&error(&text('start_fail', $config{samba_server}));
			}
		$rv = &system_logged(
			"$config{name_server} -D >/dev/null 2>&1 </dev/null");
		if ($rv) {
			&error(&text('start_fail', $config{samba_server}));
			}
		}
	}

&webmin_log("apply");
&redirect("");