我为什么反对把Enter作为发送快捷键
微信,QQ,飞书,钉钉等常用社交软件电脑版默认会把Enter设置为“发送”快捷键,我是很反对的。
上个月有同事在群里问如何获取一个转瞬即逝的进程的全路径,显然查/proc/$pid/cmdline的话怕是手速不够快,由于迄至5.x版本的Linux内核API已经足够丰富,以至于已经天然支持了获取全路径的API,即 get_cmdline 。
我快速在我自己的虚拟机里进行尝试:
#!/usr/bin/stap -g%{#include <linux/skbuff.h>
#include <linux/tcp.h>
#include <linux/mm.h>
#include <net/tcp.h>int (*ptr)(struct task_struct *task, char *buffer, int buflen);
%}function dump(skk:long)
%{struct sock *sk = (struct sock *)STAP_ARG_skk;struct tcp_sock *tp = tcp_sk(sk);struct inet_sock *inet = inet_sk(sk);struct task_struct *curr = current;char buf[128];ptr = (void *)0xffffffffb6802d90;if (ntohs(inet->inet_dport) == 80) {ptr(curr, buf, 128);STAP_PRINTF("%s %s %d\n", curr->comm, buf, curr->pid);}
%}probe kernel.function("tcp_connect")
{dump($sk);
}
其中0xffffffffb6802d90这个地址是我在/proc/kallsyms里查到的。
上面的脚本完美打印出了全路径,我迫不及待得将这个发到群里,希望能够提供帮助。于是我复制粘贴了上面的脚本,一个Enter拍下去就发出了,后面我紧接着准备发送一句提示:
0xffffffffb6802d90这个地址你自己从/proc/kallsyms里找,就是get_cmdline的地址。cat /proc/kallsyms |grep get_cmdline 获取。
然而还没等我这句话发出,上面脚本已经被执行,机器已经panic了…这一切都怪Enter键。
换句话说, Enter键作为发送快捷键让人们聊天的内容大部分都不再具有原子性。 为了用Enter发送消息,有时候发送多段消息又怕不小心敲下Enter的时候,你不得不做类似的事情:
请注意,我下面的消息可能会分段发出,只有看到“发完了”的时候,才表示我发完了。。。或者就是如果我还没有发完,我就必须在每条消息后,Enter键拍下前加一句“我还没说完”。。。
而Enter键是很容易误碰的。对于程序员而言,除了空格之外的第二吧。
将Enter键作为默认的发送快捷键只能让消息发送更快更便捷,却很容易带来误解,有时候你话说一半就不小心发出去了。
这种问题在音视频通信中很常见,比如打电话,句子是一句一句断句的,你总不能每次都加一句我还没说完吧。所以一般重要场合,音频通话是要加锁的,比如一些军事行动,说话必须听到“完毕”才能整体理解,否则就接着听。
…
最后给一个有用的代码,获取绝对路径最简单的方法:
// curr 就是 current ,也就是一个task_struct
name = kstrdup_quotable_file(curr->mm->exe_file, GFP_KERNEL);
浙江温州皮鞋湿,下雨进水不会胖。
我为什么反对把Enter作为发送快捷键相关推荐
- alt在计算机中代表什么,计算机中alt+enter是什么快捷键
计算机中alt+enter是什么快捷键 发布时间:2021-02-24 13:54:12 来源:亿速云 阅读:133 作者:小新 这篇文章将为大家详细讲解有关计算机中alt+enter是什么快捷键,小 ...
- win32 python查找文字指定格式 win32com 定位word开始结束 相当于发送快捷键
from win32com.client import Dispatch word_path = r'D:\KKCap\1.docx'app = Dispatch("Word.Applica ...
- 模拟键盘按键、鼠标单击功能发布(可发送快捷键、热键、鼠标左键多次单击)—— 定时执行专家
目录 ◆ 定时执行专家 -- 模拟键盘按键 ◆ 定时执行专家 -- 模拟鼠标单击 ◆ 定时执行专家 -- 模拟键盘按键 - 设置方法 (1)点击 "定时执行专家" 工具栏 &quo ...
- Vue使用Alt + Enter键替代Enter键回车,enter发送消息
因为要做一个聊天输入框,所以遇到了这个问题,因为发送消息比回车换行要常用,所以用enter键发送消息,alt+enter键回车换行 首先先给文本输入框加两个键盘事件 <textarea v-mo ...
- SecureCRT学习之道:SecureCRT经常使用快捷键设置与字体设置方法
1:假设不想每次登陆都输入password,能够在你打开的session里邮件session option->login action 选中automate logon 双击ogin 和assw ...
- 使用Python实现微信发送文本消息、图片以及附件
使用Python实现微信发送文本消息.图片以及附件 因为目前很多微信账号已经不支持网页版的操作了,因此无法使用之前的itchat这一类对微信进行操作. 为此,选择对微信PC端进行开发. 选择的方式比较 ...
- win7 最常用的快捷键 ( 完全可以使用键盘来操作)
win7 最常用的快捷键 ( 完全可以使用键盘来操作) F1 键 (用来使用帮助文档的) win (开始菜单) win+E ( 打开计算机窗口) win+TAB (切换窗口应用, 有时 ...
- 自动祝福程序(定时发送消息)
有个同学找我帮忙:明天是她朋友的生日,但她没时间发送祝福,问我能不能弄个自动发送.我想,QQ并没有内置的定时发送功能,紧接着又想起了QQ刷屏助手(见我以前的博文)便用Python实现了她提出的需求. ...
- autohotkey windows画板 Mspaint 快捷键
输出效果 代码图 Mspaint.ahk ;热键标记 ; !感叹号代表Alt键 ; # 井号代表 Windows 键 ; ^ 上三角号代表 Ctrl键 ; + 加号代表 Shift 键 ; 执行 ; ...
最新文章
- torch nll_loss
- 【C 语言】文件操作 ( 写文本文件 | Qt 创建 C 语言命令行项目 )
- Android UI(继承控件)--PopupWindow设置动画
- HDU SPFA算法 Invitation Cards
- 初识面向对象(理论1)
- oracle修改表字段约束条件,Oracle创建表、修改表、删除表、约束条件语法
- 使用Webbrowser的一点心得体会
- setpairint,int 的用法
- 机器学习-决策树--基础知识总结
- python自动填表程序_Python的PAMIE IE自动化测试填表提交工具
- App中自动生成二维码
- 参考文献的序号怎么对齐_word参考文献怎么对齐
- 电子计算机的核心部件是哪三个,电子计算机三大核心部件 是什么
- 服务器80端口找不到,如何查询服务器80端口被关闭
- 大型在线实时应用解决方案
- android avm灰色,APICloud AVM多端开发案例深度解析(上)--点餐app开发
- 用python监控A股股票波动并发送预警邮件_V3
- 《大学“电路分析基础”课程实验合集.实验五》丨线性有源二端网络等效电路的研究
- 前端学习笔记(js基础知识)
- 微信小程序的登录过程简介