Ubuntu 终端:C 程序(或其他解决方案)用于终止在特定端口上运行的进程并启动 xampp

Ubuntu 终端:C 程序(或其他解决方案)用于终止在特定端口上运行的进程并启动 xampp

有人能帮帮我吗?该程序的目标是终止在端口 443 上运行的进程,然后xampp自动启动。

我做了什么:

#include <stdio.h>
#include <stdlib.h>

main() {
    system("netstat -tulpn | grep :443");
    /* If 443 is busy (kill all)*/
    /*next -> */ system("/opt/lampp/xampp start");
}

答案1

要终止端口上的进程,您可以执行以下操作:

$ fuser -n tcp -k 443 && /opt/lampp/xampp start

如果您希望它启动 xampp,无论该端口上是否有任何程序运行,请将&&其更改为。;

答案2

使用C(请注意,main()通常会返回int):

#include <stdio.h>
#include <stdlib.h>

int main() {
    int ret;

    ret=system("fuser -k 443/tcp; /opt/lampp/xampp start");
    return ret;
}

或者简单地使用bash

fuser -k 443/tcp; /opt/lampp/xampp start

使用任一方法;代替都会执行,尽管不会终止任何进程。&&/opt/lampp/xampp startfuser -k 443/tcp

相关内容