我正在编写一个连接一个连接的服务器应用程序,我收到一个TCP请求,其中包含函数的符号名称和共享库的名称。
我的服务器需要使用dlsym
系统调用加载共享库,并使用收到的符号名称调用该函数。
现在加载共享库并执行我在单独的线程中执行的功能。我怀疑是由于分段故障导致线程崩溃或任何信号会影响我的进程吗?
哪一个更好的是在单独的线程或进程中运行。
请问我问题如果我的问题不明确。
答案 0 :(得分:3)
线程崩溃会影响整个过程。你可能不会想要任何其他方式,因为崩溃信号(如SIGSEGV,SIGBUS,SIGABRT)意味着你失去了对进程行为的控制,并且任何事情都可能发生在它的内存中。
因此,如果您想要隔离事物,那么产生单独的进程肯定会更好。当然,如果有人可以让您的进程崩溃,那么他们拥有您的计算机非常接近。我当然希望您不打算将此信息暴露给不受信任的用户。