问题标签 [defunct]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
376 浏览

linux - 为什么在 shell 脚本中调用 exec 时会生成已失效的进程?

为什么在 shell 脚本中调用 exec 时会生成已失效的进程?

因为在启动 snmpd 之前应该设置和预加载一些额外的 configure 和 sharelib,

所以我像下面这样使用shell脚本,但问题是每次启动shell脚本时都会生成一个僵尸进程。

据我所知,exec会替换原来的shell进程26452,为什么会生成一个子进程26453变成僵尸?

如何避免僵尸进程,请帮助!

0 投票
0 回答
62 浏览

bash - 从带有 x-terminal-emulator 的 bash 脚本启动时,Google Datastore Emulator 进程失效,我该如何防止这种情况发生?

背景:我正在使用 Gnome 3.36.8 在 Ubuntu 20.04.2 LTS 上开发一个由微服务和 Google Datastore db 组成的应用程序。我不确定这个问题是否出在 Ubuntu、Gnome、我缺乏 Bash 知识或 Google Datastore 上。我通过这些说明和 Datastore 模拟器安装了 Google Cloud SDK :apt-get install google-cloud-sdk-datastore-emulator

我使用以下方法手动启动了我的数据库:gcloud beta emulators datastore start

当我在终端中执行此操作时,一切正常,我可以按 control + c 来杀死它。

现在我编写了一个 bash 脚本来一次性启动微服务、数据存储数据库和前端(在StackOverflow 帖子的帮助下):

起初,这似乎很有吸引力,它使用 Google 数据存储模拟器打开了一个终端窗口。但是,它不允许我用控制 c 杀死它。每当我关闭终端时,它似乎仍在运行: 谷歌数据存储模拟器消失了

我也不能gcloud beta emulators datastore start再次运行,它会在一个奇怪的主机名和端口上启动。

我似乎无法杀死它kill 7788。每当我运行 ps -u $USER 时,我都会在 cloud_datastore 进程之后看到“”: cloud_datastore 已失效

我试过用谷歌搜索什么是失效的进程。维基百科告诉我,长时间保持“失效”或“僵尸”状态的进程通常是错误并导致资源泄漏。

我会看看我是否能找到正确的 Google 论坛来报告这个潜在的错误,但如果这可以很容易地修复,请帮助我!

0 投票
2 回答
294 浏览

r - ggmap 错误:“get_openstreetmap”已失效

我正在尝试使用 ggmap 库和 osm 背景在 R 上构建地图,但是出现以下错误。

library(ggmap) library(osmdata) library(devtools)

mad_map <- get_map(getbb("Limete, Kinshasa"), maptype = "terrain", source = "osm")

见帮助(“已失效”)

0 投票
0 回答
15 浏览

python-2.7 - Python 2.7 Popen pipe 命令总是创建僵尸进程(mysqldump | gzip)

我得到了执行 mysqldump 的代码... | gzip -c 4 > table.sql.gz 在数据库的每个 innodb 表上,并通过 rsync 在存储上发送。代码将在 amqp 工作人员之一从 rabbitmq 收到消息后运行。由于某种原因,我有很多 mysqldump 命令的僵尸进程,但实际上程序是完整的。为什么有很多不复存在的,我该如何预防?

helper.SubprocessRunner 它是 Popen 之上的一个包装器

0 投票
0 回答
26 浏览

winforms - CRUD UX:显示旧记录的通用模式,这些记录使用组合框中不再存在的现已失效的组合框选项?

对象说明了一切。是否有解决这种情况的首选设计/UX 模式?我正在使用 Winforms ComboBoxes,但这种情况适用于任何 GUI。此外,这很难搜索,因为搜索词非常广泛。

去年,组合框选项是A,B,C. 选择 B 保存了许多记录。

今年,组合框选项是A,C. 但有人可能想查看去年的记录。查看这些记录会导致两个选项,这两个选项都是不可取的。

  1. 在组合框中显示空白,使审查不切实际。
  2. B将已失效的项目留在组合框中,给人一种选择仍然有效的错误印象。

编辑 1: 为了解决关于所有者绘制 ComboBox 项目并将已失效项目变灰的建议:我最终可能会这样做。但问题的主旨不是机械的,而是哲学的。不是如何将项目变灰,而是质疑将它们变灰是否是最明智的选择以及有哪些替代方法。当然,这是一个经常遇到的问题。