Private
Server IP : 195.201.23.43  /  Your IP : 3.129.39.144
Web Server : Apache
System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64
User : kdecoratie ( 1041)
PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1
Disable Function : 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,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/usermin/proc/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /usr/share/usermin/proc/open_files.cgi
#!/usr/bin/perl
# open_files.cgi
# Display files and network connections that a process has open

require './proc-lib.pl';
&ReadParse();
&ui_print_header(undef, $text{'open_title'}, "", "open_proc");
%pinfo = &process_info($in{'pid'});
&can_edit_process($pinfo{'user'}) || &error($text{'edit_ecannot'});
if (!%pinfo) {
	print "<b>$text{'edit_gone'}</b> <p>\n";
	&ui_print_footer("", $text{'index_return'});
	exit;
	}

print "<b>",&text('open_proc', "<tt>$pinfo{'args'}</tt>", $in{'pid'}),
      "</b><p>\n";

# Show open files
print &ui_subheading($text{'open_header1'});
@files = &find_process_files($in{'pid'});
print &ui_columns_start([ $text{'open_fd'},
			  $text{'open_type'},
			  $text{'open_size'},
			  $text{'open_inode'},
			  $text{'open_file'} ], 100, 0);
foreach $f (@files) {
	print &ui_columns_row([
		     $f->{'fd'} eq 'cwd' ? $text{'open_cwd'} :
		     $f->{'fd'} eq 'rtd' ? $text{'open_rtd'} :
		     $f->{'fd'} eq 'txt' ? $text{'open_txt'} :
		     $f->{'fd'} eq 'mem' ? $text{'open_mem'} :
					   $f->{'fd'},
		     $f->{'type'} =~ /^v?dir$/ ? $text{'open_dir'} :
		     $f->{'type'} =~ /^v?reg$/ ? $text{'open_reg'} :
		     $f->{'type'} =~ /^v?chr$/ ? $text{'open_chr'} :
		     $f->{'type'} =~ /^v?blk$/ ? $text{'open_blk'} :
					     $f->{'type'},
		     $f->{'size'},
		     $f->{'inode'},
		     $f->{'file'},
		     ]);
	}
print &ui_columns_end();

# Show network connections
@nets = &find_process_sockets($in{'pid'});
if (@nets) {
	print &ui_subheading($text{'open_header2'});

	print &ui_columns_start([ $text{'open_type'},
				  $text{'open_proto'},
				  $text{'open_fd'},
				  $text{'open_desc'} ], 100, 0,
				[ "", "", "", "colspan=4" ]);
	foreach $n (@nets) {
		@cols = ( uc($n->{'type'}),
			  uc($n->{'proto'}),
			  $n->{'fd'} );
		@tds = ( "", "", "" );
		if ($n->{'listen'} && $n->{'lhost'} eq '*') {
			push(@cols, &text('open_listen1',
					  "<tt>$n->{'lport'}</tt>"));
			push(@tds, "colspan=4");
			}
		elsif ($n->{'listen'}) {
			push(@cols, &text('open_listen2',
					  "<tt>$n->{'lhost'}</tt>",
				          "<tt>$n->{'lport'}</tt>"));
			push(@tds, "colspan=4");
			}
		elsif ($n->{'rhost'}) {
			push(@cols, "<tt>$n->{'lhost'}:$n->{'lport'}</tt>",
				    "<tt>-&gt;</tt>",
				    "<tt>$n->{'rhost'}:$n->{'rport'}</tt>",
				    "<tt>$n->{'state'}</tt>");
			}
		else {
			push(@cols, &text('open_recv', "<tt>$n->{'lhost'}</tt>",
				      "<tt>$n->{'lport'}</tt>"));
			push(@tds, "colspan=4");
			}
		print &ui_columns_row(\@cols, \@tds);
		}
	print &ui_columns_end();
	}

&ui_print_footer("edit_proc.cgi?$in{'pid'}", $text{'edit_return'},
		 "", $text{'index_return'});
Private