我使用 Amazon EC2 实例通过 AWS Java SDK 执行一些复杂的计算,这些计算有时可能需要很长时间。因此,我需要从我的 Java 代码远程终止在 EC2 实例上运行的进程,以便我可以将同一实例重用于另一个任务,而无需停止和启动该实例。
停止和启动的问题在于,亚马逊将部分时间视为完整时间,所以我的目标是让我的代码更具成本效益。
我使用 SSH 连接我的 EC2 实例,这就是我传递要在那里执行的命令的方式。我怀疑如果我断开 SSH 连接并再次连接它,它会杀死那里运行的任何进程。
简而言之,我需要的不是 Ctrl+C,而是在我的 Java 代码中(无需用户干预)。那可能吗?
编辑:为了澄清,计算是由安装在 Linux EC2 实例上的单独工具执行的。所以我只是通过命令来启动这个工具,然后命令行等待它完成并显示结果。在手动使用场景下,我可以在 linux 命令行上单击 Ctrl+C 并重新获得对命令行的控制权。但就我而言,如果可能的话,我想从 java 代码中做类似的事情。