当前位置: 首页 > 面试题库 >

我的pidfile是否必须位于/ var / run中?

杨起运
2023-03-14
问题内容

我要问的是两种情况:技术上和风格上。

我的应用程序/守护进程可以在其中保存pidfile /opt/my_app/run/吗?

这样做很不好吗?

我的需要是:我的守护程序在特定用户下运行,实现者必须在/var/run,chown和chgrp中的mkdir新目录中运行我的守护程序。似乎仅将pidfile保留在本地(对于守护程序)似乎更容易。


问题答案:

我不会将pidfile放在诸如的应用程序安装目录下/opt/my_app/whatever。该目录可以是只读的,可以在机器之间共享,可以由守护程序监视,该守护程序会将任何更改视为可能的闯入尝试。

pidfiles的正常位置是/var/run。大多数unices会在启动时清理此目录;在Ubuntu下,这是通过/var/run内存文件系统(tmpfs)实现的。

如果您从以root用户身份运行的脚本启动守护程序,请让它创建一个子目录,/var/run/gmooredaemon并将其锁定给运行守护程序的用户,然后再su转到该用户并启动该守护程序。

在许多现代Linux系统上,如果您从不是以root用户身份运行的脚本或启动器启动守护程序,则可以将pidfile放入/run/user/$UID其中,这与传统的每用户等效/var/run。请注意,启动器的根部分或以root用户身份运行的启动脚本需要创建目录(对于人类用户,该目录是在用户登录时创建的)。

否则,请在/tmp或下选择一个位置/var/tmp,但这会增加额外的复杂性,因为pidfile的名称是否位于世界可写目录中,无法唯一确定。

在任何情况下,分发者或管理员都可以轻松地(命令行选项,也许还有编译时选项)更改pidfile的位置。



 类似资料:
  • 问题内容: 我使用的是用这样的: 我只关门了。我是否还需要关闭()? 问题答案: 不,您只需要关闭最外面的流。它将一直委托给包装的流。 但是,您的代码包含一个概念上的失败,应该在中发生关闭,否则当代码在打开和关闭之间引发异常时,它永远不会关闭。 例如 (请注意,我更改了代码以 引发 异常,以便您了解问题的原因,该异常即包含有关问题原因的详细信息) 或者,当您已经在使用Java 7时,也可以使用AR

  • 问题内容: 我在服务器端有PHP,在客户端有HTML和javascript。 我正在制作一个应用程序,其中利益相关者键入一条消息,该消息实时广播到一个组的多个接收者。 我在Google上做了一些研究,我了解我需要使用WebSockets或Comet进行实时推送通知。WebSocket或Comet是向用户发送大量通知的必需项吗? 我的理解正确吗?有什么参考开始吗? 问题答案: 如果客户端是浏览器,则

  • 问题内容: @Entity public class A { @GeneratedValue @Id private long id; 建立关系,我必须打电话 为什么两者都是必要的,为什么仅仅做是不够的 要么 ? 该关系存储在联接表中,并将更新该联接表。 但是当我之后进行查询时,它为空。这是为什么? 这是一个测试案例,说明了这个问题。请注意,最后一个断言失败。 动机: 当数量增加时,通过更改“仅一

  • 我试图从容器内部控制主机docker服务。 对于Linux主机和Linux容器,通常如下所示: 但在或端口上显然没有任何响应,我用类似的命令检查了这些命令: 在这一点上,我想知道这是否是可能的Docker for Windows。我找到的大多数信息都涉及组合。

  • 问题内容: 我的第一个问题是- 构造函数应始终声明为公共吗? 如果我创建一个构造函数该怎么办。 我总是看到构造函数是隐式的。那么为什么构造函数有用呢?还是根本没有用。因为没有人可以调用它,或者永远也不能创建对象(由于构造函数)!这是我的第二个问题。 问题答案: 不, 构造函数 可以是,, 或(根本没有访问修饰符)。 做某事 并不意味着没有人可以访问它。这只是意味着该类之外的任何人都不能访问它。因此

  • 目前,我正在尝试将。NET web应用程序(V.4.5.2)与ADFS2.0集成。我在网上找到的大部分文章都要求WIF信任来自联邦服务器的传入令牌。