sách gpt4 ai đã đi

调用 "start"启动程序,调用 "stop"关闭 C 中的当前实例

In lại 作者:太空宇宙 更新时间:2023-11-04 01:14:54 28 4
mua khóa gpt4 Nike

我用 C 编写了一个简单的服务器,并希望调用它的功能与调用其他 C 守护程序的功能相同(例如使用 ./ftpd start 调用它并使用 ./ftpd stop 关闭该实例)。显然我遇到的问题是我不知道如何获取正在运行的程序的当前实例。我可以很好地解析选项(使用 getopt/optarg),但目前,./my-program stop 只是启动一个新实例,而不是调用 ./my-program start 启动它。

我想这样做的原因是因为另一个程序将向我的服务器发出停止信号,所以像 ./my-program stop 这样的调用非常简单,它可以停止服务器循环并关闭所有打开的 fd。谢谢!

是否可以在 C 程序本身中执行此操作,还是通常由外部处理?

1 Câu trả lời

使用“停止”参数运行时,您将始终运行一个单独的进程。您需要找到正在运行的守护进程并向其发送信号以停止它。当你的守护进程启动时(选项“开始”),你可能想将它的 pid 存储在某个地方,这样当它以“停止”选项启动时,它可以检索守护进程的 pid 并向它发送一个信号来停止它。您还可以解析进程表以找到您的守护进程,但这会更复杂。

关于调用 "start"启动程序,调用 "stop"关闭 C 中的当前实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3996848/

28 4 0
Bài viết được đề xuất: 使用头文件编译
Bài viết được đề xuất: c - 在 C 中,即使目录不存在,如何从文件路径创建文件?
Bài viết được đề xuất: python - numpy 中的 hermite 值数组
Bài viết được đề xuất: c - 在c中获取char类型输入的问题
太空宇宙
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com