Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何使用Perl终止OpenVPN连接?_Linux_Perl_Openvpn - Fatal编程技术网

Linux 如何使用Perl终止OpenVPN连接?

Linux 如何使用Perl终止OpenVPN连接?,linux,perl,openvpn,Linux,Perl,Openvpn,有没有办法用Linux或Perl命令终止用户OpenVPN连接?系统调用tcpkill程序。断开连接用户的连接: /usr/bin/openvpn-sudo-user kill \"username\" 但首先应该禁用该用户。如果在启动时将OpenVPN作为服务自动启动,最干净的方法是: service openvpn stop 从命令行(或从perl执行) 您可以按照其他建议直接杀死它,但使用提供的方法停止服务将执行OpenVPN需要的任何额外清理(例如,清理锁文件、运行pid文件等) A

有没有办法用Linux或Perl命令终止用户OpenVPN连接?

系统调用tcpkill程序。

断开连接用户的连接:

/usr/bin/openvpn-sudo-user kill \"username\"

但首先应该禁用该用户。

如果在启动时将OpenVPN作为服务自动启动,最干净的方法是:

service openvpn stop
从命令行(或从perl执行)

您可以按照其他建议直接杀死它,但使用提供的方法停止服务将执行OpenVPN需要的任何额外清理(例如,清理锁文件、运行pid文件等)


AFIAK在当前版本中可以杀死OpenVPN,但谁知道将来的版本会怎么样。

使用
tcpkill ip主机192.168.1.2

如果使用perl模块Proc::Background作为命令启动OpenVPN,也可以使用相同的Proc::Background杀死他:

#!/usr/bin/perl

use strict;
use warnings;
use Proc::Background;

my $command = 'openvpn --config /etc/openvpn/client.conf';
my $proc = Proc::Background->new($command); $proc->alive;
print "started\n";
sleep (30);
if ($proc->alive == 1) { $proc->die; print "stopped\n";}

这个问题属于serverfaultbut,但通过kill命令,在编程kill连接时。但我是怎么问的。
#!/usr/bin/perl

use strict;
use warnings;
use Proc::Background;

my $command = 'openvpn --config /etc/openvpn/client.conf';
my $proc = Proc::Background->new($command); $proc->alive;
print "started\n";
sleep (30);
if ($proc->alive == 1) { $proc->die; print "stopped\n";}