草庐IT

write_ctrl

全部标签

linux - 如何终止使用 sudo 运行的进程? Ctrl+C 执行,但不杀死

在我的公司,一些命令允许使用sudo运行,例如tcpdump。其他人没有。我希望运行tcpdump一段时间,然后停止它。当我运行tcpdump时,我可以使用Ctrl+C中止它我写了一个这样的shell脚本-#!/bin/shsudotcpdump-ieth1-w~/dump.binsleep5kill-2$!这真的不行。tcpdump进程以root身份运行,当前用户为普通账号。我的问题是:有什么方法可以在bash脚本中执行相当于ctrlc的操作吗?编辑:ps:作为我公司的安全政策,我不能以root身份运行kill。 最佳答案 尝试-

python - 允许 Ctrl-C 中断 python C 扩展

我正在(自制的)基于C的python扩展中运行一些计算量大的模拟。偶尔我会弄错东西并想终止模拟。但是,Ctrl-C似乎没有任何效果(除了将^C打印到屏幕上)所以我必须使用kill或系统监视器来终止进程.据我所知,python只是等待C扩展完成,在此期间并不真正与其通信。有没有办法让它工作?更新:(针对我的具体问题)的主要答案是:1.重写代码以定期将控制权交还给调用者(回答下面的AllowingCtrl-CtointerruptapythonC-extension),或者2.使用PyErr_CheckSignals()(下面回答https://stackoverflow.com/a/33

linux - E138 : Can't write viminfo file $HOME/. 虚拟信息

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭9年前。Improvethisquestion我在生产环境中使用opensuse。我以“测试”用户身份登录并尝试使用“vi”编辑文件但是当我要保存时该文件显示以下错误**E138:Can'twriteviminfofile/home/test/.viminfo**在“测试”用户下,所有文件和文件夹自动变为只读。我正在尝试使用“root”用户更改权限但无法更改。我也寻找像“~/.viminf*”这样的临时文件,但没有这样的东西。不知道怎么办,

linux - 如何让 Ctrl-Backspace 在 gnome-terminal 中删除 vim 中的单词?

我想要Ctrl-Backspace在vi​​m插入模式下删除当前单词。在xterm中,我可以通过:inoremap但是在gnome-terminal中我无法找到实现它的方法。在vim插入模式下,如果我键入control-v然后按退格键,我会在xterm中得到^H,而^?在侏儒终端。不幸的是,:inoremap在gnome-terminal中不起作用;无论如何,control-backspace只会删除一个字符。关于ASCII码:Gnome终端允许您在编辑->配置文件首选项->兼容性下更改退格字符。不幸的是,据我所知,没有任何选项有效:如果我尝试映射字符本身,则通过设置将任何字符应用于B

java - 如何向正在运行的 Linux 进程发送 Ctrl-Break?

我正在调试在Sun的JDK1.4.2_18上运行的应用程序中的内存泄漏。看起来这个版本支持命令行参数-XX:+HeapDumpOnCtrlBreak,这可能会导致JVM在遇到控制中断时转储堆。如何将其发送到Linux机器上的后台进程?看起来kill信号应该是这样工作的,但我kill-l没有报告任何明显是Ctrl-Break的东西,至少在我的Ubuntu机器上是这样。更新:我用SunJDK1.4.2_18(_14是第一个以这种方式转储堆的)测试了Kill-3,它成功了。堆转储文件已创建,进程仍在运行。 最佳答案 Ctrl-\相当于Wi

python - IPython 键盘中断 CTRL + C 不一致

在从matplotlib绘图后,我在交互式python(在xterm中运行)中从键盘中断Ctrl+C得到不一致的响应。正如预期的那样,在ipython2中执行Ctrl+C时,我收到了KeyboardInterrupt消息。但是,一旦我使用matplotlib(特别是matplotlib.pyplot)绘制任何内容,Ctrl+C将退出交互式pythonsession,而不是退出正在运行的脚本交互式pythonsession(如果有的话)。一个原始的例子。importnumpyasnimportmatplotlib.pyplotasmx=n.linspace(0,4*n.pi,500)y=

linux - 从多个线程对同一个 TCP 套接字发出阻塞 write() 调用是否安全?

假设我有两个线程,T1和T2。线程T1在TCP套接字S上进行阻塞write()调用,以发送一个大的字节缓冲区B1。字节B1的缓冲区太大,以至于(a)写调用阻塞和(b)TCP必须使用多个段来发送缓冲区。线程T2还在同一TCP套接字S上进行阻塞write()调用,以发送其他一些大字节缓冲区B2。我的问题是:TCP在UNIX上的实现是否保证B1的所有字节将在B2的所有字节之前发送(反之亦然)?或者TCP是否可能交织B1和B2的内容(例如,TCP发送一个包含B1数据的段,然后发送一个包含B2数据的段,然后再次发送一个包含B1数据的段)。PS-我知道这样做不是一个好主意。我正在尝试确定某些不是我

linux - TERM=linux 中 ctrl + 箭头(左、右、...)的终端转义序列是什么

我正在浏览器中构建一个终端窗口(比如ajaxterm)并且不知道要将哪个转义序列发送到ssh隧道(通过paramiko.SSHClient().invoke_shell(term='linux'打开))。我找到了keylogger并在带有$TERM=='linux'的终端中尝试它,但它为ctrl+left和left(27,91,68)返回相同的序列。如果我在另一个终端(使用$TERM=='xterm')尝试键盘记录器,我会得到代码(27,91,49,59,53,68)。但是这些代码不会从SSHchannel生成预期的输出(这会使光标在普通的linuxshell上向左移动一个词)。即使我

python - MPRIS + Python (dbus) : reading and writing properties

我已经检查过这个链接:Howtohandlepropertiesofadbusinterfacewithpython.但是,那只列出了一个API...但我不知道该API来自哪里。我刚开始在python上使用dbus(对此非常兴奋,老实说^__^只是对我找到的文档不太满意),我想知道我是否可以得到一些示例代码。我专门为Rhythmbox使用MPRIS,尽管它“应该”对所有人都一样。我知道我可以通过执行以下操作访问方法并从中获得乐趣:importdbusbus=dbus.SessionBus()proxy=bus.get_object('org.mpris.MediaPlayer2.rhy

linux - 在 Linux 中使用 Ctrl-Alt-F6,无法恢复屏幕

这显然是一个愚蠢的问题。我在Mac和Linux上都在Eclipse中编码,但我混淆并使用了Mac快捷键来窗口制表符(Ctrl-Cmd-F6),但我在uni上使用Linux,屏幕变黑了。我以前这样做过,但这次我无法回到我的桌面。Ctrl-AltF1-F6给我不同的终端,F7给我一个黑屏和F8左上角闪烁的下划线。我的session不应该在F1-F6的某个地方并且它丢失了吗? 最佳答案 Ctrl-Alt-F7应该可以工作,也许您的X崩溃了?我只是做了你做的事,F7帮我找回了它,说在我记得X崩溃之前我有同样的黑屏