我正在开发自己的服务,该服务使用套接字和 SSL 进行通信。它需要证书才能运行,但证书目前被密码锁定。
我想到两种方法可以解决这个问题。要么让证书不需要密码。要么将证书的密码存储在单独的文件中,服务可以读取该文件以解锁证书。
这两种选择似乎都不太好。最佳做法是什么?
另外,我使用的是 OpenRC 而不是 systemd。
我正在开发自己的服务,该服务使用套接字和 SSL 进行通信。它需要证书才能运行,但证书目前被密码锁定。
我想到两种方法可以解决这个问题。要么让证书不需要密码。要么将证书的密码存储在单独的文件中,服务可以读取该文件以解锁证书。
这两种选择似乎都不太好。最佳做法是什么?
另外,我使用的是 OpenRC 而不是 systemd。
我正在同一应用程序的不同版本之间运行速度测试。我希望能够为每个应用程序分配一组固定的 cpu。例如,我想在两个 cpu 上运行应用程序,而不是更多。另外,我希望这两个 cpu 独占该进程,这样其他进程就不能“窃取” cputime 并降低测试分数。
有没有办法在 Linux 上做到这一点?我听说过 cgroup、容器和 docker。这些会有帮助吗?另外,哪种方法最简单(不一定是最用户友好的),哪种方法给我最大的控制权?
我也有点担心超线程。如果我给这个测试进程分配一个逻辑cpu,而测试时另一个进程是超线程的,这样不是会让测试结果变得更差吗?然后我还需要按物理 cpu 来分离 cpu。
我正在用 c 编写一个程序,我想根据用户是否愿意编译一个翻译单元。基本上我有两个文件,一个 main.c 应该总是被编译。此外,我有一个文件,我们称之为 optional.c。optional.c 中的一些函数比 main.c 中的函数快得多,但它们也更容易出错。
在我的 main.c 中,我可以编写如下代码
#ifdef USE_OPTIONAL
some function call from optional.c
#else
some function call from main.c
#endif
在我的 makefile 中,我还想编译 optional.c 仅当它应该被使用时,比如说
gcc -c optional.c
gcc -c -DUSE_OPTIONAL main.c
gcc main.o optional.o
如果没有,只需
gcc -c main.c
gcc main.o
它有两种不同的规则,一种称为“all:”,一种称为“optional:”,但我更喜欢只输入“make”而不是“make optional”。实现这一点的最简单方法是什么?我应该转向配置脚本和 Makefile.in 还是只有第二条规则更好?是否有可能实现例如“make USE_OPTIONAL=1”,然后让读取变量 USE_OPTIONAL 的输入来弄清楚该怎么做?