Articles of Linux操作系统

如何找出为什么JVM忽略在Linux上kill -15(SIGTERM)?

我正在kill -15 <PID>在我的工作jvm,它似乎完全被忽略。 环境是: Linux 2.6内核 jdk 1.6.0_20-x86-64 项目中没有提及sun.misc.SignalHandler 。 我唯一的(相当蹩脚的)线索是调用AbstractApplicationContext.registerShutdownHook()在main中。 JVM启动参数不包含与信号处理相关的任何内容。 日志中没有任何东西(DEBUG级别),没有什么打印到标准输出反应kill -15 。 如何找出什么原因会忽略SIGTERM?

为什么GraphicsEnvironment的getAllFonts()返回不同于fc-list的字体?

为什么GraphicsEnvironment的getAllFonts()方法返回不同于fc-list的字体(在linux上)? fc-list返回: Abyssinica SIL:style=Regular Cantarell:style=Bold Cantarell:style=Regular Century Schoolbook L:style=Bold Century Schoolbook L:style=Bold Italic Century Schoolbook L:style=Italic Century Schoolbook L:style=Roman Courier:style=Regular DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold,Bold DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold Oblique,Bold Oblique DejaVu Sans,DejaVu Sans Condensed:style=Condensed,Book DejaVu Sans,DejaVu Sans Condensed:style=Condensed Oblique,Oblique DejaVu Sans,DejaVu Sans Light:style=ExtraLight DejaVu Sans Mono:style=Bold DejaVu Sans Mono:style=Bold Oblique DejaVu Sans Mono:style=Book […]

挂在3.5内核上的sys_execve

我正在尝试在x86_32的Linux内核v3.5中挂接sys_execve系统调用。 我只需将sys_call_table入口地址更改为我的钩子函数 asmlinkage long (*real_execve)( const char __user*, const char __user* const __user*, const char __user* const __user* ); … asmlinkage long hook_execve( const char __user* filename, const char __user* const __user* argv, const char __user* const __user* envp ) { printk( "Called execve hook\n" ); return real_execve( filename, argv, envp ); } … real_execve […]

Bash cd命令自动完成自定义别名

假设我有一个简单的函数作为cd的别名。 c(){ cd "$@"; } 我怎样才能得到 我的新function 的 cd 工作 的原始自动完成 ? 请注意, cd仅自动完成目录名称,而不是简单的文件名称。 我知道complete命令,但确切的是由cd使用的自动完成function的位置? 感谢帮助!

如何重新sorting文件内容来实现简单的混淆

如果我有一些具有可识别的签名的文件,例如幻数 ,则它们在Nautilus中被识别为文档,video或audio,而不考虑后缀。 如果我想对它们进行编码而不将编码文件本身识别为编码,则一个简单的策略可以是以块为单位重新sorting文件内容: 例如,如果文件被分割成10个相同大小的块(任何其余的可作为可变大小的第11个块, K ) ABCDEFGHIJK ,则简单编码将重新排列块顺序:例如, block_encode input_file output_file将导致输出文件组织为: BADCFEHGJIK 。 (当然,我也可以只交换“后半部分”和“前半部分”,在文件末尾留下1个字节)。 在这种情况下,解码将通过简单地再次应用编码来实现。 生成的文件很可能不会被识别为有效的文件,video,audio等 我的问题是:是否有任何简单的方法在bash中使用标准工具(例如dd )来实现这一点? (如果需要,我可以写一个C程序)。 后续将是:如果文件是一个媒体文件,我怎么能stream“解码”的内容,例如,VLC,而不必将解码的stream保存为一个文件第一?

删除文件目录会降低整个networking服务器的速度

我在/var/www/media有一个目录,子目录包含了许多许多图像的一天。 每晚使用rm -rf /var/www/media/1234删除这些子目录中的一个。 服务器在Ubuntu 12.04上运行Nginx / PHP,带日志function的ext4文件系统。 问题:执行删除操作时,整个Web服务器变慢。 iotop通过jbd2/md3-8和md4_raid1显示99%的IO利用率。 我相信jdb2正在使用jdb2 /var/www/media主机的文件系统/dev/md4上,我们正在删除文件。 不可接受的删除操作磨坏了服务器。 我在这里有什么select? 我们必须将ext4日志设置为data=writeback来加快速度并避免抖动我的服务器?

SQLite错过了文字检索的字符

我正在将应用程序从Windows移植到Linux。 我已经设法使所有的工作,因为它应该,除了数据库。 每当我调用sqlite3_column_text16() ,我得到一个string是缺less大多数字符。 我不知道这种行为源于Windows,它无可挑剔的工作。 我没什么特别的,只是 wstring a(static_cast<wchar_t const *>(sqlite3_column_text16(stmt, 2))); 谢谢。

selenium共享贵主机

我需要在远程Linux主机(Webfaction)上运行Selenium(或其他可以处理javascript的webscraping工具)。 我正在使用Python。 这可能吗? 服务器是gui-less所以我不能运行浏览器。 或者我可以,如果我使用PyVirtualDisplay? 用HtmlUnit运行Selenium怎么样? 我已经尝试使用selenium/ PyVirtualDisplay / ChromeDriver Selenium,但不断收到各种错误消息。 所以我想知道如果这是甚至可能继续debugging不可能的事情之前。

PHP检查进程是否正在运行(Linux)

我想弄清楚如果一个游戏服务器正在运行。 我发现了很多肮脏的方法,所以我想通过调用一个检查进程是否正在运行的PHP脚本来简化它。 那么我正在尝试的是: <?php exec("bin_unix/linux_server", $output, $return); if ($return == 0) { echo "Ok, process is running\n"; } else { echo "Process is not running\n"; } 但它不工作(因为我相信这个过程正在运行)..它不是一个“真正的”过程不要怪我,我不是一个Linux专家。 所以我做了什么来运行这个服务器是以下命令: cd /path/to/server/ && nohup bin_unix/linux_server & 我想在exec();的bin_unix/linux_server exec(); 是错误的,但是它是我用ps aux得到的唯一静态信息。 process_id会经常改变,所以我不知道该input什么。

SVN。 访问权

我无法正确configuration访问权限。 一旦规则似乎不起作用。 一些目录 – 应该是,有些不是。 我有一个仓库在两个文件夹 – 一个 , 两个 。 三个用户 – pipe理员,用户,来宾。 需要的权利是: pipe理员 – 读取和写入到/ 用户,来宾 – 只能在一个文件夹中读写 我在svnserve.conf中写道: anon-access = none auth-access = write authz-db = /svn.acl 添加到文件/etc/apache2/conf.d/svn: AuthzSVNAccessFile /etc/apache2/svn.acl 文件svn.acl: [/] admin = rw * = [/one] user,quest = rw [/two] admin = rw * = 在最终用户仍然看到这两个目录! 什么可能是错的?