小编Pri*_*riB的帖子

fork 和 exec 是如何工作的?

我没有太多经验,只是试图参与他们如何从用户级别解释到硬件的过程。

因此,当从 shell 触发命令时,fork()继承它exec()的子进程并将子进程加载到内存中并执行。

  1. 如果子进程包含了父进程(也就是原始进程)的所有属性,那么这个子进程需要什么?原始进程也可能已加载到内存中。
  2. 这个forkexec概念是否适用于 UNIX 中的所有可执行程序?也喜欢shell脚本还是只喜欢命令?它是否也适用于 shell 内置命令?
  3. 如果我将执行命令/脚本,何时使用复制概念?

很抱歉一次问了很多问题,但是当我想到任何命令执行时,所有这些问题都会立刻浮现在我的脑海中。

fork exec

17
推荐指数
3
解决办法
2万
查看次数

在 ksh 中有什么等同于 getch() 的东西吗?

我正在 Korn Shell 中编写一个脚本,其中一个语句我想要getch()在 C 中使用的东西。

我希望我的while循环退出,如果它看到我按下ESC了键盘。

例如。

while [[ getch() != 27 ]]
do
    print "Hello"
done
Run Code Online (Sandbox Code Playgroud)

在我的脚本中这是getch() != 27行不通的。我想在那里工作。任何人都可以帮忙吗?

ksh shell-script

6
推荐指数
1
解决办法
3512
查看次数

如何使用 awk 命令将第 n 个到第 m 个字段清空?

我想用AWK解决下面的问题。

如果使用 sed 或 Perl 等语言可以使用任何其他解决方案,那也将不胜感激。

下面是输入:

U,N,UNIX,000,A,5
N,P,SHELL,111,B,6
I,M,UNIX,222,C,7
X,Y,BASH,333,D,8
P,R,SCRIPT,444,E,9
Run Code Online (Sandbox Code Playgroud)

我想要的输出如下:

U,N,,,A,5
N,P,,,B,6
I,M,,,C,7
X,Y,,,D,8
P,R,,,E,9
Run Code Online (Sandbox Code Playgroud)

另请注意:我不知道每行的字段总数。我只知道字段 3 和 4 是空白的。

sed awk perl

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

为什么SOFT LINK不能指向,而HARD LINK可以指向被删除的原始文件的INODE?

1st 我创建了硬链接 (HLINK) 和软链接 (SLINK) 到单个文件 (A.DAT)。据我所知,SLINK有自己的inode,这个inode会指向A.DAT的inode。但是 HLINK 没有自己的 inode。当我们创建硬链接时,它将直接指向 A.DAT 的 inode。

所以我这里的QS是在我们删除原始文件(A.DAT)时,因为硬链接(HLINK)的存在,A.DAT的inode仍然在内存中。 但是为什么我们不能通过SLINK,虽然SLINK的inode指向内存中仍然存在的inode,而HLINK虽然指向同一个inode也可以访问。

请帮助我理解这一点,如果我错了,请纠正我..

谢谢!!

symlink

3
推荐指数
1
解决办法
316
查看次数

awk 命令的多字符分隔符

我有数据如下:

p_id^|^data1^|^data2^|^data3
Run Code Online (Sandbox Code Playgroud)

我只需要获得第二个字段

data1
Run Code Online (Sandbox Code Playgroud)

用命令尝试了多种技巧awk,但无法找到它。有人可以帮忙吗?

linux awk

2
推荐指数
1
解决办法
3937
查看次数

标签 统计

awk ×2

exec ×1

fork ×1

ksh ×1

linux ×1

perl ×1

sed ×1

shell-script ×1

symlink ×1