Anderson Silva 发布的文章

要杀死一个僵尸进程,你必须从进程列表中删除其名称。

 title=

这里有一个和 Unix 纪元一样古老的故事。自从有了 C 和 Unix,以及(后来的)Linux,我们就有了“ 僵尸 zombie ”。具体来说,有一些进程被标记为“ 僵尸进程 zombie process ”。一些人误解它,另一些人忽视它,而它对我们许多人试图 “杀死” 这些进程的努力免疫,没有什么成效。这是为什么呢?

Linux 中的进程是什么?

这一切始于执行 Linux 中的一个程序时,当它被执行时,它的运行实例被称为进程。你可以用 ps 命令 查看你的 Linux 环境中的所有进程:

$ ps -ax
        PID TTY         STAT   TIME COMMAND
        1 ?     Ss      0:01 /usr/lib/systemd/systemd rhgb --switched-root --sys
        2 ?     S       0:00 [kthreadd]
        3 ?     I<      0:00 [rcu_gp]
        4 ?     I<      0:00 [rcu_par_gp]

有时一个进程启动另一个进程,使第一个进程成为第二个进程的父进程。pstree 命令是一个很好的工具,可以让你看到系统中进程的“家谱”:

$ pstree -psn
systemd(1)─┬─systemd-journal(952)
        ├─systemd-udevd(963)
        ├─systemd-oomd(1137)
        ├─systemd-resolve(1138)
        ├─systemd-userdbd(1139)─┬─systemd-userwor(12707)
        │                     ├─systemd-userwor(12714)
        │                     └─systemd-userwor(12715)
        ├─auditd(1140)───{auditd}(1141)
        ├─dbus-broker-lau(1164)───dbus-broker(1165)
        ├─avahi-daemon(1166)───avahi-daemon(1196)
        ├─bluetoothd(1167)

每个进程在系统中都会被分配一个编号。进程编号(PID)1 被分配给启动过程中执行的第一个进程,PID 1 之后的每一个进程都是它的子孙。PID 1 进程是初始化进程,在大多数新版本的 Linux 中,它只是一个指向 systemd 程序的符号链接。

用 kill 命令结束一个进程

你可以用 kill 命令来终止 Linux 系统中的进程。尽管名字叫 “杀死”,但 kill 命令和其他一些命令,如 pkillkillall,都是为向一个或多个进程发送信号而编写/设计的。当没有指定信号时,它发送的默认信号是 SIGTERM 信号,以终止进程。

当一个父进程死亡或被杀死,而其子进程没有跟随其父进程的死亡,我们称该进程为“ 孤儿进程 orphan process ”。

如何杀死一个僵尸进程

另一方面,僵尸进程是不能被“杀死”的!你可能会问为什么?因为它们已经死了!

每一个子进程,当被终止时,都会成为一个僵尸进程,然后被父进程删除。当进程退出并释放它所使用的资源时,它的名字仍然在操作系统的进程表中。这时,父进程的工作就是把它的名字从进程表中删除。如果没有删除,我们就有了僵尸进程,它不再是一个真正的进程,而只是操作系统进程表上的一个条目。

这就是为什么试图对一个 失效的 defunct (僵尸)进程执行 “杀死” 命令,即使使用 -9SIGKILL)选项也不起作用,因为没有什么可以杀死的。

因此,要杀死一个僵尸进程,比如从进程列表(进程表)中删除其名称,你必须杀死其父进程。例如,如果 PID 5878 是一个僵尸进程,而它的父进程是 PID 4809,那么要杀死僵尸进程(5878),就必须结束父进程(4809):

$ sudo kill -9 4809  # 4809 是父进程,而非僵尸

我对僵尸的最后一句警告:在杀死父进程时要非常小心。如果一个进程的父进程是 PID 1,而你杀了它,你就会重新启动自己!

而这将是一个更可怕的故事!


via: https://opensource.com/article/21/10/linux-zombie-process

作者:Anderson Silva 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

看看我在好玩、能学习、有用处的树莓派上做了些什么。

无论是从历史上,还是从理论上讲,当时钟走到一个十年份第一年的 1 月 1 日的午夜 0 点时,就开始了一个十年或一个世纪或一个千年纪元。例如,20 世纪始于 1901 年 1 月 1 日,而不是 1900 年 1 月 1 日。原因很简单:现代日历中没有 0 年,因此这些时间段始于 1 年(使用公历)。但这不是我们在口语上和文化上指代时间段的方式。例如,当我们提到 80 年代的音乐或电影时,我们所说的是 1980 年至 1989 年。

我可以说,最近过去的 21 世纪 10 年代是云计算、社交媒体、移动技术和物联网(IoT)的十年,这其中就包括树莓派。最近,《时代》杂志将树莓派称为过去十年中 10 个最佳小玩意之一。我非常同意这点。

树莓派最初的于 2012 年推出,我过了几年才使用上了它。不过从那以后,我在家中做了许多有趣的教育项目,还在 Opensource.com 中记录了一些。

圣诞灯三部曲

三年来,我写了三篇探讨如何使用树莓派和开源项目 LightShowPi 控制圣诞灯的文章。第一篇文章《用树莓派创建你自己的音乐灯光秀》,非常基础地介绍了电子开发介绍和灯光秀的结合。第二篇文章,《使用树莓派 SSH 进入你的圣诞树》,稍微深入地介绍了通过远程管理和电子按钮控制灯光的方法。三部曲的最后一章《用树莓派设置假期心情》,回顾了上一年 LightShowPi 项目中引入的更改。

DIY 项目

多年来,我已经将树莓派变成了几种有用的设备。有一次,我将树莓派变成了 Pi MusicBox 音乐播放设备,它可以让你在 Web 界面中导入你喜欢的音乐流并在房间中播放。

将树莓派做成移动视频录制设备是另一个 DIY 项目。它需要一些额外的硬件,例如触摸屏、树莓派摄像头和电池组,但是它工作的很好。这个设备的最大缺点之一是当时树莓派的可用内存很小。我认为如果我将它重新配置在具有 4GB 内存的树莓派 4 上,那么这款便携式摄像机的功能可能会更好。这可能是一个会在 2020 年重新打造的项目。

我做的另一个小项目客厅的数字时钟使用了 Adafruit PiTFT 小屏幕。尽管这个项目很简单,但它可能是我使用时间最长的项目。那个时钟在我的电视机上呆了一年多,一天 24 小时不间断运行,直到屏幕烧坏为止。

圆周率日系列

最后但并非最不重要的一点是,在 2019 年的圆周率日(3 月 14 日)之前,我在 14 内发布了 14 篇文章。这是迄今为止我完成过的最具挑战性的写作项目,但是它使我能够涵盖许多不同的主题,并希望使读者对树莓派的丰富功能有更多的了解。

走向未来

我不认识树莓派基金会中的任何人,因此我不了解它的任何路线图和未来计划。我可以(但我不会)推测品牌及其设备的未来,它们让世界各地这么多不同社会地位的人扩展他们对计算机科学、电子和开源开发的知识。我希望基金会的管理层能够忠于其愿景和使命,并继续为世界各地的人们提供价格合理的技术。

21 世纪 10 年代过去了,那是多么甜蜜的十年。对我来说,它闻起来就像树莓派馅饼。


via: https://opensource.com/article/20/1/raspberry-pi-best

作者:Anderson Silva 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

树莓派 4 与其前代产品相比具有令人印象深刻的性能提升,而入门套件使其易于快速启动和运行。

当树莓派 4 在 6 月底宣布发布时,我没有迟疑,在发布的同一天就从 CanaKit 订购了两套树莓派 4 入门套件。1GB RAM 版本有现货,但 4GB 版本要在 7 月 19 日才能发货。由于我想两个都试试,这两个都订购了让它们一起发货。

 title=

这是我开箱我的树莓派 4 后所看到的。

电源

树莓派 4 使用 USB-C 连接器供电。虽然 USB-C 电缆现在非常普遍,但你的树莓派 4 可能不喜欢你的USB-C 线(至少对于树莓派 4 的第一版如此)。因此,除非你确切知道自己在做什么,否则我建议你订购含有官方树莓派充电器的入门套件。如果你想尝试手头的充电设备,那么该设备的输入是 100-240V ~ 50/60Hz 0.5A,输出为 5.1V - 3.0A。

 title=

键盘和鼠标

官方的键盘和鼠标是和入门套件是分开出售的,总价 25 美元,并不很便宜,因为你的这台树莓派电脑也才只有 35 到 55 美元。但树莓派徽标印在这个键盘上(而不是 Windows 徽标),并且外观相宜。键盘也是 USB 集线器,因此它允许你插入更多设备。我插入了我的 YubiKey 安全密钥,它运行得非常好。我会把键盘和鼠标分类为“值得拥有”而不是“必须拥有”。你的常规键盘和鼠标应该也可以正常工作。

 title= and mouse.")

 title=

Micro-HDMI 电缆

可能让一些人惊讶的是,与带有 Mini-HDMI 端口的树莓派 Zero 不同,树莓派 4 配备了 Micro-HDMI。它们不是同一个东西!因此,即使你手头有合适的 USB-C 线缆/电源适配器、鼠标和键盘,也很有可能需要使用 Micro-HDMI 转 HDMI 的线缆(或适配器)来将你的新树莓派接到显示器上。

外壳

树莓派的外壳已经有了很多年,这可能是树莓派基金会销售的第一批“官方”外围设备之一。有些人喜欢它们,而有些人不喜欢。我认为将一个树莓派放在一个盒子里可以更容易携带它,可以避免静电和针脚弯曲。

另一方面,把你的树莓派装在盒子里会使电路板过热。这款 CanaKit 入门套件还配备了处理器散热器,这可能有所帮助,因为较新的树莓派已经以运行相当热而闻名了。

 title=

Raspbian 和 NOOBS

入门套件附带的另一个东西是 microSD 卡,其中预装了树莓派 4 的 NOOBS 操作系统的正确版本。(我拿到的是 3.19 版,发布于 2019 年 6 月 24 日)。如果你是第一次使用树莓派并且不确定从哪里开始,这可以为你节省大量时间。入门套件中的 microSD 卡容量为 32GB。

插入 microSD 卡并连接所有电缆后,只需启动树莓派,引导进入 NOOBS,选择 Raspbian 发行版,然后等待安装。

 title=

我注意到在安装最新的 Raspbian 时有一些改进。(如果它们已经出现了一段时间,请原谅我 —— 自从树莓派 3 出现以来我没有对树莓派进行过全新安装。)其中一个是 Raspbian 会要求你在安装后的首次启动为你的帐户设置一个密码,另一个是它将运行软件更新(假设你有网络连接)。这些都是很大的改进,有助于保持你的树莓派更安全。我很希望能有一天在安装时看到加密 microSD 卡的选项。

 title=

 title=

运行非常顺畅!

结语

虽然 CanaKit 不是美国唯一授权的树莓派零售商,但我发现它的入门套件的价格物超所值。

到目前为止,我对树莓派 4 的性能提升印象深刻。我打算尝试用一整个工作日将它作为我唯一的计算机,我很快就会写一篇关于我探索了多远的后续文章。敬请关注!


via: https://opensource.com/article/19/8/unboxing-raspberry-pi-4

作者:Anderson Silva 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

“Linux 用户”这一定义已经拓展到了更大的范围,同时也发生了巨大的改变。

编者按: 本文更新于 2019 年 6 月 11 日下午 1:15:19,以更准确地反映作者对 Linux 社区中开放和包容的社区性的看法。

再有不到两年,Linux 内核就要迎来它 30 岁的生日了。让我们回想一下!1991 年的时候你在哪里?你出生了吗?那年我 13 岁!在 1991 到 1993 年间只推出了少数几款 Linux 发行版,至少它们中的三个:Slackware、Debian 和 Red Hat 为 Linux 运动发展提供了支柱

当年获得 Linux 发行版的副本,并在笔记本或服务器上进行安装和配置,和今天相比是很不一样的。当时是十分艰难的!也是令人沮丧的!如果你让能让它运行起来,就是一个了不起的成就!我们不得不与不兼容的硬件、设备上的配置跳线、BIOS 问题以及许多其他问题作斗争。甚至即使硬件是兼容的,很多时候,你仍然需要编译内核、模块和驱动程序才能让它们在你的系统上工作。

如果你当时经过过那些,你可能会表示赞同。有些读者甚至称它们为“美好的过往”,因为选择使用 Linux 意味着仅仅是为了让操作系统继续运行,你就必须学习操作系统、计算机体系架构、系统管理、网络,甚至编程。但我并不赞同他们的说法,窃以为:Linux 在 IT 行业带给我们的最让人惊讶的改变就是,它成为了我们每个人技术能力的基础组成部分!

将近 30 年过去了,无论是桌面和服务器领域 Linux 系统都有了脱胎换骨的变换。你可以在汽车上,在飞机上,家用电器上,智能手机上……几乎任何地方发现 Linux 的影子!你甚至可以购买预装 Linux 的笔记本电脑、台式机和服务器。如果你考虑云计算,企业甚至个人都可以一键部署 Linux 虚拟机,由此可见 Linux 的应用已经变得多么普遍了。

考虑到这些,我想问你的问题是:这个时代如何定义“Linux 用户”?

如果你从 System76 或 Dell 为你的父母或祖父母购买一台 Linux 笔记本电脑,为其登录好他们的社交媒体和电子邮件,并告诉他们经常单击“系统升级”,那么他们现在就是 Linux 用户了。如果你是在 Windows 或 MacOS 机器上进行以上操作,那么他们就是 Windows 或 MacOS 用户。令人难以置信的是,与 90 年代不同,现在的 Linux 任何人都可以轻易上手。

由于种种原因,这也归因于 web 浏览器成为了桌面计算机上的“杀手级应用程序”。现在,许多用户并不关心他们使用的是什么操作系统,只要他们能够访问到他们的应用程序或服务。

你知道有多少人经常使用他们的电话、桌面或笔记本电脑,但不会管理他们系统上的文件、目录和驱动程序?又有多少人不会安装“应用程序商店”没有收录的二进制文件程序?更不要提从头编译应用程序,对我来说,几乎全是这样的。这正是成熟的开源软件和相应的生态对于易用性的改进的动人之处。

今天的 Linux 用户不需要像上世纪 90 年代或 21 世纪初的 Linux 用户那样了解、学习甚至查询信息,这并不是一件坏事。过去那种认为 Linux 只适合工科男使用的想法已经一去不复返了。

对于那些对计算机、操作系统以及在自由软件上创建、使用和协作的想法感兴趣、好奇、着迷的 Linux 用户来说,Liunx 依旧有研究的空间。如今在 Windows 和 MacOS 上也有同样多的空间留给创造性的开源贡献者。今天,成为 Linux 用户就是成为一名与 Linux 系统同行的人。这是一件很棒的事情。

Linux 用户定义的转变

当我开始使用 Linux 时,作为一个 Linux 用户意味着知道操作系统如何以各种方式、形态和形式运行。Linux 在某种程度上已经成熟,这使得“Linux 用户”的定义可以包含更广泛的领域及那些领域里的人们。这可能是显而易见的一点,但重要的还是要说清楚:任何 Linux 用户皆“生”而平等。


via: https://opensource.com/article/19/6/what-linux-user

作者:Anderson Silva 选题:lujun9972 译者:qfzy1233 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在我们关于树莓派入门系列的第 14 篇也是最后一篇文章中,回顾一下我们学到的所有东西。

派节快乐!

每年的 3 月 14 日,我们这些极客都会庆祝派节。我们用这种方式缩写日期: MMDD,3 月 14 于是写成 03/14,它的数字上提醒我们 3.14,或者说 π 的前三位数字。许多美国人没有意识到的是,世界上几乎没有其他国家使用这种日期格式,因此派节几乎只适用于美国,尽管它在全球范围内得到了庆祝。

无论你身在何处,让我们一起庆祝树莓派,并通过回顾过去两周我们所涉及的主题来结束本系列:

 title=

我将结束本系列,感谢所有关注的人,尤其是那些在过去 14 天里从中学到了东西的人!我还想鼓励大家不断扩展他们对树莓派以及围绕它构建的所有开源(和闭源)技术的了解。

我还鼓励你了解其他文化、哲学、宗教和世界观。让我们成为人类的是这种惊人的 (有时是有趣的) 能力,我们不仅要适应外部环境,而且要适应智力环境。

不管你做什么,保持学习!


via: https://opensource.com/article/19/3/happy-pi-day

作者:Anderson Silva (Red Hat) 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在我们的入门系列的第 13 篇文章中,发现参与树莓派社区的方法。

这个系列已经逐渐接近尾声,我已经写了很多它的乐趣,我大多希望它能帮助人们使用树莓派进行教育或娱乐。也许这些文章能说服你买你的第一个树莓派,或者让你重新发现抽屉里的吃灰设备。如果这里有真的,那么我认为这个系列就是成功的。

如果你想买一台,并宣传这块绿色的小板子有多么多功能,这里有几个方法帮你与树莓派社区建立连接:

这些只是你可以为树莓派社区做贡献的几种方式。最后但同样重要的是,你可以加入我并投稿文章到你最喜欢的开源网站 Opensource.com。 :-)


via: https://opensource.com/article/19/3/contribute-raspberry-pi-community

作者:Anderson Silva (Red Hat) 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出