不,您不能以官方支持的方式执行此 *** 作。Go运行时需要拥有信号处理程序,并且不会以任何方式公开额外的信息。
通过设置新的信号处理程序,您仍然可以从C中做到这一点,但是我对此会非常谨慎(请参阅诸如issue /
7227之类的问题)。您最好使用信号以外的其他通信方法。
这是一个基于Ian从问题7227开始的代码的部分示例:
package mainimport "C"import ( "os" "syscall" "time")func main() { C.test() pid := os.Getpid() for { syscall.Kill(pid, syscall.SIGUSR1) time.Sleep(time.Second) }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)