Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

4
如果在执行过程中编辑脚本会怎样?
我有一个普遍的问题,这可能是对Linux中如何处理进程的误解的结果。 出于我的目的,我将定义一个“脚本”作为bash代码的片段,该片段保存到文本文件中,并且为当前用户启用了执行权限。 我有一系列脚本相互调用。为了简单起见,我将它们称为脚本A,B和C。脚本A执行一系列语句,然后暂停,然后执行脚本B,然后暂停,然后执行脚本C。换句话说,该系列步骤如下: 运行脚本A: 一系列声明 暂停 运行脚本B 暂停 运行脚本C 从经验中我知道,如果我运行脚本A直到第一次暂停,然后在脚本B中进行编辑,那么当我允许恢复执行时,这些编辑将反映在代码的执行中。同样,如果在脚本A仍暂停的状态下对脚本C进行编辑,然后在保存更改后继续执行,这些更改将反映在代码的执行中。 那么,这是一个真正的问题,有什么办法可以在脚本A仍在运行时对其进行编辑?还是一旦开始执行便无法进行编辑?

10
如果Python脚本被杀死或死亡,如何自动重启
我像这样在我的Ubuntu机器(12.04)中在后台运行Python脚本- nohup python testing.py > test.out & 现在,在某些情况下,我的上面Python script可能由于某种原因而死亡。 因此,我正在考虑使用某种cron agentin bash shell脚本,如果由于某种原因被杀死,它可以自动重新启动上述Python脚本。 这可能吗?如果是,那么解决此类问题的最佳方法是什么? 更新: testing.conf像这样创建文件后- chdir /tekooz exec python testing.py respawn 我在sudo命令下运行以启动它,但是我看不到使用ps ax在后面运行该进程? root@bx13:/bezook# sudo start testing testing start/running, process 27794 root@bx13:/bezook# ps ax | grep testing.py 27806 pts/3 S+ 0:00 grep --color=auto testing.py 知道为什么px ax没有显示任何内容吗?以及如何检查我的程序是否正在运行? 这是我的python脚本- #!/usr/bin/python while …
31 bash  shell  cron  python 

7
ASCII到二进制和二进制到ASCII转换工具?
哪一个将ASCII转换为二进制并将二进制转换为ASCII的好工具? 我希望有这样的东西: $ echo --binary "This is a binary message" 01010100 01101000 01101001 01110011 00100000 01101001 01110011 00100000 01100001 00100000 01100010 01101001 01101110 01100001 01110010 01111001 00100000 01101101 01100101 01110011 01110011 01100001 01100111 01100101 或者,更现实一些: $ echo "This is a binary message" | ascii2bin 01010100 01101000 01101001 01110011 00100000 01101001 …
31 bash  binary  ascii 


7
为什么大多数发行版都将UEFI和grub链接在一起?
大多数发行版在UEFI系统上安装了额外的引导加载程序。UEFI本身是一个引导程序,它提供菜单来选择不同的操作系统或单个内核。此外,UEFI设置可以使用诸如的用户空间工具轻松更改efibootmgr。 从3.3开始,内核支持EFI_STUB,这意味着可以直接从UEFI加载内核。发行版本决定使用其他引导加载程序的原因是什么?关于Linux / UEFI的大多数教程主要关注如何设置附加的引导加载程序(rEFInd,grub2,ELILO等),而不是使用EFI_STUB引导Linux。 发行版中唯一缺少的是支持。由于大多数发行版都链接了第二个引导加载程序,因此不会将内核添加到UEFI引导菜单,也不会将其复制到EFI系统分区。 三个脚本足以完成所有任务。将initramfs复制到ESP的一种。第二个将内核复制到ESP,并在UEFI引导菜单中创建一个新条目。第三个脚本从ESP中删除了旧内核和initramfs,并删除了UEFI引导菜单项。这允许完全自动化的内核/ initramfs更新/清除,而无需用户交互。我使用这种方法已经有一年多了,而且效果一直很好。 为什么大多数发行版都使用grub而不是EFI_STUB? 链接: 如何重新创建EFI引导分区? 编辑:我并不是在说完全删除grub支持,而是为出于各种原因想要使用它的人提供选择。发行版可以为grub-efi想要链接UEFI和grub的用户提供一个程序包,以及一个efistub-boot包含我上面提到的脚本的程序包。
31 boot  grub2  boot-loader  uefi 


2
为什么实时可以低于用户时间
我有一个转换视频文件的脚本,我在服务器上根据测试数据运行它,并通过来测量其时间time。结果,我看到了: real 2m48.326s user 6m57.498s sys 0m3.120s 为什么实时时间比用户时间低得多?这和多线程有关系吗?或者还有什么? 编辑:我认为该脚本正在运行大约2m48s
31 time 

3
从存储在bash历史记录中排除某些命令
有没有什么办法,以排除类似的命令rm -rf,svn revert被获得存储在bash历史?实际上,尽管我无意去做,但我还是错误地发出了很多次,只是因为我做事很快,事情就发生了。因此,到目前为止,我已经失去了很多工作。


5
如何使用scp从服务器提取文件?
我在机器A上,想从机器B提取文件。 A$ scp <myuserid>@hostB:<path of file in B> . 它说: scp: <path of file in B>: No such file or directory 但是在机器B上,此文件存在于此路径中。 怎么了?
31 scp 

4
读/写到没有根的串行端口?
我正在编写一个应用程序以从Fedora14中的一个串行端口读/写,并且当我以root身份运行它时,它的工作效果很好。但是,当我以普通用户身份运行它时,无法获得访问设备(/ dev / ttySx)所需的特权。这有点糟糕,因为现在我实际上无法使用Eclipse调试该死的东西。 我尝试使用sudo运行Eclipse,但是它破坏了我的工作区,甚至无法打开项目。因此,我想知道是否有可能降低写入/ dev / ttySx的访问要求,以便任何普通用户都可以访问它。这可能吗?

5
如何用vim粘贴(覆盖)?
在vim使用yy和p一直拉和粘贴行。但是,如果我想在文件的多个位置替换一行,则无法使用,yy p dd p因为dd 删除会将行删除到剪贴板/寄存器中。虽然我可能应该知道如何更好地使用寄存器,但我觉得可能有一种方法可以p替代当前行。
31 vim  vi 

4
找出正在写入硬盘的进程
在我的Lenovo T400和Ubuntu上,硬盘驱动器写入指示灯一直闪烁。我想知道在Linux中是否可以找出正在对硬盘进行I / O的进程?与一样top,您可以找出哪些进程正在占用最多的CPU和内存。
31 linux  process  io 


5
有没有办法找到哪个iptables规则负责丢弃数据包?
我有一个已配备防火墙的系统。防火墙包含1000多个iptables规则。这些规则之一是丢弃我不想丢弃的数据包。(我知道这一点是因为我确实做到了,iptables-save然后iptables -F应用程序开始工作。)有太多规则无法手动进行分类。我可以做些什么来告诉我哪个规则丢弃数据包吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.