标签: fork

如何更新GitHub分叉存储库?

我最近分叉了一个项目并应用了几个修复程序.然后我创建了一个拉取请求,然后被接受.

几天后,另一位撰稿人做出了另一项改变.所以我的fork不包含那个改变.

我怎样才能把这个改变变成我的叉子?当我进行进一步的更改时,是否需要删除并重新创建我的分支?还是有更新按钮?

git fork github pull-request

3390
推荐指数
19
解决办法
69万
查看次数

父母退出后如何使子进程死亡?

假设我有一个只产生一个子进程的进程.现在,当父进程因任何原因(正常或异常,通过kill,^ C,断言失败或其他任何原因)退出时,我希望子进程死掉.如何正确地做到这一点?


stackoverflow上的一些类似问题:


关于Windows的 stackoverflow的一些类似问题:

c unix linux fork process

199
推荐指数
13
解决办法
15万
查看次数

194
推荐指数
6
解决办法
13万
查看次数

fork(),vfork(),exec()和clone()之间的区别

我希望在Google上找到这四者之间的差异,我希望有关于此的大量信息,但四个电话之间确实没有任何可靠的比较.

我开始尝试编译一种基本的一目了然的看看这些系统调用之间的差异,这就是我得到的.所有这些信息是否正确/我错过了什么重要的事情?

Fork :fork调用基本上复制了当前进程,几乎在所有方面都是相同的(并非所有内容都被复制,例如,某些实现中的资源限制,但想法是尽可能创建尽可能接近的副本).

新进程(子进程)获取不同的进程ID(PID),并将旧进程(父进程)的PID作为其父PID(PPID).因为这两个进程现在运行的代码完全相同,所以它们可以通过fork的返回代码告诉哪个进程 - 子进程为0,父进程获取子进程的PID.当然,这就是假设fork调用有效 - 如果没有,则不创建子节点并且父节点获取错误代码.

Vfork:vfork和fork之间的基本区别在于,当使用vfork()创建新进程时,父进程将暂时挂起,子进程可能会借用父进程的地址空间.这种奇怪的状态一直持续到子进程退出或调用execve(),此时父进程继续.

这意味着vfork()的子进程必须小心,以避免意外修改父进程的变量.特别是,子进程不能从包含vfork()调用的函数返回,并且它不能调用exit()(如果需要退出,它应该使用_exit();实际上,对于子进程也是如此正常的fork()).

Exec :exec调用是一种基本上用新程序替换整个当前进程的方法.它将程序加载到当前进程空间并从入口点运行它.exec()用函数指向的可执行文件替换当前进程.除非存在exec()错误,否则控件永远不会返回到原始程序.

Clone :克隆,作为fork,创建一个新进程.与fork不同,这些调用允许子进程与调用进程共享其执行上下文的一部分,例如内存空间,文件描述符表和信号处理程序表.

使用clone创建子进程时,它将执行函数应用程序fn(arg).(这与fork不同,fork从原始fork调用开始继续执行.)fn参数是指向子进程在执行开始时调用的函数的指针.arg参数传递给fn函数.

当fn(arg)函数应用程序返回时,子进程终止.fn返回的整数是子进程的退出代码.子进程也可以通过调用exit(2)或在收到致命信号后明确终止.

获得的信息形式:

感谢您抽时间阅读 !:)

linux fork clone process exec

190
推荐指数
4
解决办法
14万
查看次数

fork()分支超过预期?

考虑以下代码:

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>

int main(void)
{
    int i;
    for(i = 0; i < 2; i++)
    {
        fork();
        printf(".");
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

该程序输出8个点.怎么可能呢?不应该有6个点吗?

c c++ fork

186
推荐指数
2
解决办法
7467
查看次数

windows对fork()最接近的是什么?

我猜这个问题就是这么说的.

我想在Windows上分叉.什么是最相似的操作,我该如何使用它.

c c++ windows fork

116
推荐指数
7
解决办法
10万
查看次数

如何在C中使用Linux共享内存

我的一个项目有点问题.

我一直试图找到一个记录良好的使用共享内存的例子,fork()但没有成功.

基本上情况是,当用户启动程序时,我需要在共享内存中存储两个值:current_pathchar*,file_name也是char*.

根据命令参数,启动一个新进程fork(),该进程需要读取和修改存储在共享内存中的current_path变量,而file_name变量是只读的.

是否有一个很好的共享内存教程和示例代码(如果可能的话),你可以指导我?

谢谢,哔哔声

c linux fork shared-memory

110
推荐指数
5
解决办法
29万
查看次数

在GitHub上有一个公共仓库的私人分支?

我在GitHub仓库中有一个公共PHP项目,它只包含一个分支(主).

我想要一个独立的分支/分支对我来说是私有的(我已经支付了私人GitHub回购).我希望能够将私有分支/分支的更改合并到公共仓库,反之亦然.

考虑到这一点,这是我的问题:

  1. 我可以在公共回购中拥有一个私人分支机构吗?
  2. 我可以将自己的公共仓库分配到我自己的私有分支/分支中吗?
  3. 如果以上两种方法都可行,哪种方式最好?如果不是,我该怎么办?

fork github git-branch

105
推荐指数
3
解决办法
6万
查看次数

没有分叉的拉请求?

以下是" 如何在GitHub中为其他代码做出贡献? " 主题的代码贡献步骤.

  1. 分叉项目
  2. 对存储库进行一次或多次评论和清理提交.如果要修改多个零件或特征,可以在此处创建新分支.
  3. 在github的Web界面中执行pull请求.

是否可以在不提供回购的情况下提出拉取请求?

在我的帐户中看到超过20个repos,这些repos是针对一些拉取请求而分叉的,这真是令人遗憾.他们没有活动,零星/粉丝.看起来我只是在为一个黑色的日子复制某人的代码.

git fork github repository

95
推荐指数
4
解决办法
3万
查看次数

fork和thread有什么区别?

谁能解释一个fork和一个线程之间的区别?

c multithreading fork process

88
推荐指数
5
解决办法
7万
查看次数