gpt4 book ai didi

javascript - Grunt pid 文件和 Grunt-kill

转载 作者:行者123 更新时间:2023-12-03 03:55:09 24 4
gpt4 key购买 nike

尝试使用grunt-kill创建一个任务来终止我的 server-scorm 任务,并最终终止所有相关任务。这些说明非常短,因为它假设我知道有关 PID 文件的所有信息(我不知道,不是开发人员的错误)和 Grunt Manual对它们进行 0 次引用。

问题是我不知道如何正确引用 PID 文件路径以及 Grunt 使用什么命名方案。

当我运行以下命令时,我可以获得 ID:

ps aux | grep grunt 

但是当PID每次都改变时,这当然对我没有好处,所以我不能直接引用它。

说明说要将其放入配置中:

kill: {
myService: {
src: [ 'my-service.pid' ]
},
secondary: {
pid: 'secondary.pid'
}
}

这是如何使用它的一个示例...但是['my-service.pid']我不知道如何实现这一点。

就我而言,我试图终止的命令 grunt 任务的名称是 server-scorm 所以我假设它是:

kill: {
serverScorm: {
src: [ 'server-scorm.pid' ]
},
}

当然,当我运行它时,它无法识别它。我明白了:

kill:serverScorm task fail

似乎这个难题的缺失部分是我无法访问 server-scorm.pid 或它的名称。

如果你想知道为什么我不使用 cntrl+c,那是因为团队正在使用一个名为括号的 IDE,它“很好地”提供了一个 grunt 界面,你只需单击即可一个按钮,它将运行一个命令...正如您可能已经猜到的,没有地方可以输入这样的命令。

最佳答案

我正在复制您在 GitHub 上的错误报告中的答案。

嗨@phillt grunt-kill 插件无法 native 确定任何进程的 pid,因为没有 pid,它如何知道您想要哪个进程?每个应用程序“发现”它的方式可能不同,甚至可能运行多个进程。

该插件有两种方式确定pid:

  • 指定 pid 文件。这需要您尝试终止的进程将其 pid 写入文件。这是 Unix 中守护进程的常见模式,特别是当它们作为服务在后台运行时。方法是在启动时,将应杀死的主进程的 PID 写入已知位置的文件中,然后像 grunt-kill 这样的工具可以读取该文件并知道哪个进程杀死。例如,RedHat 上的 Apache Web 服务器通常将其 pid 文件写入 /var/run/httpd.pid 之类的内容。我对 server-scorm 不熟悉,所以不能确定它是否使用 pid 文件。
  • 指定 PID 本身或返回 PID 的函数。如果您有办法以编程方式可靠地找到 PID,您可以将其作为函数编写在 Gruntfile 中,并且 grunt-kill 会很乐意执行它来发现 PID。您也许可以在 ps aux 周围放置一些过滤器来查找 pid。也许可以按进程名称和用户登录名进行过滤?

顺便说一句,我在电子学习领域工作,所以 server-scorm 和适应框架会给我一些作业。 :)

关于javascript - Grunt pid 文件和 Grunt-kill,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44981504/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com