尝试使用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' ]
},
}
当然,当我运行它时,它无法识别它。我明白了:
似乎这个难题的缺失部分是我无法访问server-scorm.pid或其所谓的。
如果您想知道为什么我没有使用cntrl+c
,那么该团队正在使用一个名为括号的IDE,而且很好地使用#34;"提供了一个grunt界面,您只需单击一个按钮即可运行命令......您可能已经猜到了,没有地方可以输入这样的命令。
答案 0 :(得分:1)
我正在从GitHub上的错误报告中复制我的答案。
您好@phillt grunt-kill
插件无法原生地确定任何进程的pid,因为没有pid,它如何知道您想要哪个进程?每个应用程序“发现”它的方式可能不同,甚至可能运行多个进程。
此插件有两种方法可以确定pid:
grunt-kill
这样的工具可以读取该文件并知道要杀死哪个进程。例如,RedHat上的Apache Web服务器通常将其pid文件写入/var/run/httpd.pid
之类的内容。我不熟悉server-scorm,所以不能确定它是否使用了pid文件。grunt-kill
将很乐意执行它以发现PID。您可以在ps aux周围放置一些过滤器来查找pid。可能按进程名称和用户登录名进行过滤?另一方面,我在电子学习领域工作,因此服务器规范和适应框架将给我一些功课。 :)