c - 使用 C 退出到 linux 的 ssh session

标签 c linux ssh

我正在运行一个通过 ssh session 运行的程序。这意味着我使用 putty 连接到 linux,程序启动,使用/etc/bash.bashrc 文件。在某个时候程序应该结束并随之结束通过 putty 的 ssh session 应该断开连接。 直到现在我用下面的代码做了什么,但它不起作用:程序退出,并停留在 linux shell 中,这意味着 putty 已连接。我期望的是命令“exit”结束 putty ssh session .

 char file_name[20];
 pid_t pid = fork();
        if (pid == 0)
        {
            printf("Starting vi\r\n");
            char external_cmd[200] = "vi ";
            strcat(external_cmd, file_name);
            system(external_cmd);
        } else 
        {
            waitpid(pid,0,0);
            printf("Exit..\r\n");
            system("exit");

        }

感谢您的帮助。

最佳答案

最简单的解决方案是使用 exec 启动您的 C 程序,以便它替换 shell。 SSH session 会在程序退出时自然结束。

$ exec your_program 

关于c - 使用 C 退出到 linux 的 ssh session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38005490/

相关文章:

c - 如何读取涉及 volatile、const 和 * 的变量声明

c++ - 从文件读取并将值放入结构数组时遇到问题

amazon-web-services - 通过 Ubuntu 堡垒到私有(private)子网中的 EC2 实例的 SSH 隧道

ssh - 从sudo运行过程中捕获退出代码

SSH key : “Permissions 0644 for ' id_rsa. pub' 太开放了。”在苹果机上

c - 打印数字 4 的出现次数。 - CodeChef

java - Swig,将c指针转换为float[]

linux - 如何在nginx中运行编译后的代码或脚本

c - 如何在后台进行更新过程

xml - 带有 XPATH 的 Linux Bash XMLLINT