问题标签 [orphan]

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 回答
801 浏览

bash - 如何向孤立的后台进程发出信号?

我正在从我的 tcl 脚本在后台执行一个 shell 脚本。tcl 脚本在一段时间后结束执行。此时我假设后台 shell 脚本成为孤立脚本并被 init 采用。

现在的问题是我无法向我的(孤立的)后台脚本发出信号。但为什么?好的,它现在属于 init 但为什么我不能发出信号。只有 sigkill 似乎有效并且杀死了它 - 我需要触发我编写的信号处理程序来处理 SIGUSR2

为什么我不能向我的孤立后台进程发出信号?有没有办法做到这一点?还是有一些解决方法?

编辑:不涉及睡眠时似乎工作正常。请参阅下面的示例代码:

没有孤立时工作正常 - 但在孤立进程的情况下,我认为问题是真正的睡眠 pid 被覆盖,当陷阱到达时我无法杀死它。

0 投票
1 回答
6564 浏览

python - Python多处理和子进程的独立性

从 python 终端,我运行如下命令,生成一个长时间运行的子进程:

此命令返回,我可以在 python 终端中执行其他操作,但孩子打印的任何内容仍会打印到我的 python 终端会话中。

当我退出终端(使用exitCTRL+ D)时,退出命令会挂起。如果我点击CTRL+C,则子进程将终止。

如果我手动终止 python 终端进程(通过 posixkill命令),子进程将变成孤立的,并继续运行,其输出可能被丢弃。

如果我使用 运行此代码python -c,它会等待子进程终止,然后CTRL+C杀死父子进程。

当父母终止时,python 的哪些运行配置会杀死孩子?特别是,如果 python-mod_wsgi-apache 网络服务器产生子进程然后重新启动,这些子进程会被杀死吗?

[顺便说一句,分离从终端产生的子进程的正确方法是什么?有没有比以下更优雅的方法:Deliberately make an orphan process in python ]

更新:multiprocessing.Process当 apache 重新启动时,由在 apache 下运行的 web 服务器生成的 python 子进程不会被杀死。

0 投票
1 回答
226 浏览

eclipse - Git 在不同文件夹中的独立分支与已经存在的 repo

我用我的一些项目创建了一个 git repo,文件夹结构如下所示:

而 run 是他们所有人都使用的文件夹。

我不知道该怎么做,所以我只是这样命名提交:

那么,是否可以将项目拆分为独立的分支?运行文件夹也应该包含在工作空间中并由所有项目使用。

0 投票
0 回答
66 浏览

xml - 来自 xsd 的 DataSet 生成带有孤儿的 xml

我的要求是加载基于 xsd 和一组与 xsd 中不同节点关联的查询生成 xml 文件。它还需要对数据进行分页,以便将 xml 拆分为多个文件,但保持顶部节点的完整性(我的意思是根之后的下一级)。我的方法是使用数据加载数据集。如果不需要分页,一切都可以,但是当包含分页时,我会得到顶部节点以下所有级别的孤立节点。我认为拥有所有关系的数据集会阻止孤立行。有没有办法确保结果没有孤儿?

这是我的代码的摘录:

0 投票
0 回答
105 浏览

jpa - 在具有其他关系的目标实体上级联

我有一个与这 3 个实体映射的多对多关系:

我尝试从两个实体 AppplicatifDo 和 TerminalDo 对连接表 AppplicatifTerminalDo 进行许多级联测试。当我在 Set 中创建或更新 AppplicatifTerminalDo 时,级联效果很好,但是当涉及 orphanRemoval 或 delete 时它不起作用

第一的 :

对于删除,我收到错误:

我希望当我删除实体 ApplicifDo 或 TerminalDo 时,ApplicifTerminal 连接表中与它们相关的所有行也会被删除。

第二 :

对于 orphanRemoval,当我从 ApplicifDo 实体中的 ApplicifTerminalSet 集中删除一个元素并执行合并时,为了测试它,我通过他的父实体 ID 进行查找以获取一个新的完全相同的实体并计算元素的数量在 Set 中我得到了很好的数字(在 biginning 的数字少了一个)。但是在我的数据库中,我仍然拥有我的所有数据集。

编码 :

当我这样做时, setRemarques() 的更新效果很好。当我这样做时,我在控制台中没有错误。然后删除似乎起作用了,因为我通过他的 ID 检索到相同的对象,它仍然说我有 3 个元素,然后第四个已被删除:但是,当我查看 phpmyadmin 时,我的 appplicationterminal 表中的 4 个元素/关系仍然存在。 如果我稍后再做一次 TestNg,这次只需通过他的 ID 检索我的 appplicatifDo,它就会得到四个元素。然后这里有一个很大的完整性问题,我仍然总是使用热切的获取。知道为什么会出现这样的问题吗?我怎样才能使我的级联作品?

第三 :

在全球范围内,我对其他两个实体有另一个级联 + orphanRemoval 规则,效果很好,但是这些级联的实体目标与其他实体没有其他关系。显然,在具有其他关系的实体上级联时有特定的规则(或者可能是限制)。请问您知道解释此类映射最佳实践的教程/规则吗?

提前致谢。我坚持这个太久了。

0 投票
2 回答
17937 浏览

java - JPA 2 / Hibernate 孤儿删除仍然无法与@OneToMany 一起使用?

我正在尝试在 Hibernate 4.3.5 / JPA2 对象中使用 orphanRemoval ,但它似乎没有像我预期的那样工作。但是,我不确定我是否做错了什么,或者这仍然是 Hibernate 中的一个错误。

给定以下关系(为简洁起见,省略了@Version、getter 和 setter):

我希望如果我从 Provider.contracts 列表中删除合同,它将从合同表中删除相应的行以及从附件表中删除所有关联的附件。但是,只有合同表被删除。附件表未修改。

前任:

鉴于附件相对于合同表是多对一的,如果合同被删除,则附件是孤立的。但即使使用orphanRemoval=true,这也不会从数据库中删除行。

我在 Hibernate 3 上发现了几个与此相关的问题(在 SO 和 Jira 和其他地方在线),但我知道它已在 Hibernate 4 中修复。但使用 Hibernate 4.3.5 我仍然看到这个问题。从这个问题,它似乎工作,所以我不知道为什么我不能让它发挥作用。

我的代码中是否存在错误/缺失,或者 Hibernate 仍然存在问题?我是否需要实现equalshashCode在这些实体类中的任何一个中orphanRemoval才能正常工作?我尝试在合同和附件中实现这两种方法,但没有任何区别。

查看 Hibernate 日志,它显示 Hibernate 对连接表(或 FK 映射)进行了更改,但实际上并未从关联表中删除该行。我可以看到 Hibernate 在 Contract 表中设置 provider_id=null ,但它不应该删除 Contract 行吗?

0 投票
1 回答
3092 浏览

mysql - 使用 LEFT JOIN 在 MySQL 中查找孤立记录

我正在尝试使用 LEFT JOINS 查找不同的孤立 menu_item 记录,然后检查 NULL 值。

下面的查询返回实际上不是孤立的结果。mitem_id 是 menu_item 表的主键和 price_info 表的外键。pinfo_id 是 price_info 表和外键 orderdetails 表的主键。

返回的记录之一如下所示:

我怎么知道它不是孤儿是因为当我运行查询时:

它返回一组记录:

为什么它返回的结果不是孤立的?

0 投票
1 回答
988 浏览

orm - 一对多与带推进的连接表

我有一个要求,我需要通过一个连接表来模拟表之间的一对多关系,就像在连接到 mysql 的多对多的情况下一样。我尝试过的一种解决方案是在“一”端使用具有唯一约束的多对多。但这有一个问题,即删除孤立数据时不会删除。有针对这个的解决方法吗?

0 投票
1 回答
185 浏览

windows-7 - 可以以编程方式清除孤立用户固定的 Windows 7 任务栏快捷方式吗?

这是场景:

在我们的应用程序的 Wix 安装脚本中,开始菜单快捷方式和桌面快捷方式现在的处理方式与以前不同。

当用户从以前的安装运行更新时,这些更改会导致任务栏上任何用户固定到应用程序的快捷方式成为孤立的。换句话说,快捷方式仍然存在,但不再指向任何东西。

快捷方式显示为一个空白页,表明该链接已被删除。快速浏览C:\Users[UserName]\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar文件夹即可确认这一点。单击快捷方式将删除它,然后显示一个窗口对话框,询问是否删除快捷方式(答案没有意义,因为它已被删除)。

我的问题是:

有没有办法告诉任务栏删除孤立的快捷方式?

最好在安装新版本后由 Wix 脚本中的自定义操作触发。

0 投票
1 回答
102 浏览

mediawiki - 删除垃圾页面后清理 Mediawiki 表格的最后一步

为了证明我的 SEO 工作对我们的一个网站有多好,位于同一域的 wiki 在 2 天内收到了 2601 个垃圾邮件页面(巧合,2 天前在 SERP 上列出......)。

我已将 wiki 锁定(只读),启用阻止列表、验证码等,并使用 Nuke 扩展删除所有垃圾邮件。

现在,这对于一个扩展来说是了不起的,但它仍然到处留下一些东西,我很想修剪掉。

基本上,Nuke(我认为它是一个官方扩展)在下表中留下了“孤立”记录:页面链接、搜索索引、用户。

我删除周围的记录没有问题,但我不想通过随机修剪东西来破坏数据库的关系一致性。我能够理解如何执行 SQL 查询、Linux 命令行脚本和各种高级的东西。

因此,对于一些了解 Mediawiki 内部的有用 StackOverflow 读者,这里有一些问题:

  • 我可以自由删除用户表行吗?我只需要保留两行,以便 SQL 查询很容易。我只是不想对可能需要链接到它们的任何其他表造成副作用。

  • 我可以做些什么来删除页面链接中的孤立记录?他们清楚地指出现在已经消失的页面,但是我使用的默认维护 Mediawiki 脚本(首先是 nuke 扩展,然后rebuildall.php是 )并没有修剪掉那些孤儿。这让我相信我可能在某处仍有垃圾,导致脚本无法删除指向它的链接。但是我已经三次检查了这些页面......只剩下我们制作的几页了。我也清除了修订版。

我试过使用控制台refreshLinks.phporphans.php脚本,但他们没有做任何相关的事情。

我确信 pagelinks 表可以进一步精简,因为通过使用dumpLinks.php控制台维护脚本,我可以轻松地 grep 各种“不方便”的单词和链接。