我开发了一个自定义系统调用来记录被杀死的进程。AC 程序杀死进程并调用自定义系统调用,传递被杀死进程的进程 ID,然后系统调用会将被杀死进程的 ID 打印到内核日志中。在这里,我只是传递一个虚拟对象来测试系统调用是否写入内核日志。系统调用表中系统调用的编号是329。
下面是我的系统调用
#include <linux/kernel.h>
asmlinkage long sys_killa(char* proc_id)
{
printk("The process %s has been killed", proc_id);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这是我的 C 程序来调用我的自定义系统调用。
#include <stdio.h>
#include <linux/kernel.h>
#include <sys/syscall.h>
#include <unistd.h>
int main()
{
char proc_id[5] = "3219";
long int sys = syscall(329, proc_id);
printf("System call sys_killa returned %ld\n", sys);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
运行 C 程序只是在终端中打印“Killed”。再次运行该程序会使我的虚拟机崩溃。当我使用dmesg实用程序检查时,内核日志中没有打印任何内容。我究竟做错了什么?
我第一次在AWS上使用Apache部署了Flask应用程序.加载HTML页面,但上传文件,编写文件和阅读文件等内容似乎不起作用.在下面的示例中,我调用此特定函数来写入从URL接收的数据.但是在这里,我禁用了它,代码只需要读取已经存在的文件.所以,export_po_list.xml已经存在,我已经从终端检查了这个.这个相同的代码在我的电脑本地运行得很好.
检查/var/log/apache2/error.log显示
IOError: [Errno 13] Permission denied: 'export_po_list.xml'
Run Code Online (Sandbox Code Playgroud)
我做了chmod 777 -R到这个烧瓶应用程序的整个文件夹.它仍然无法正常工作.
def po_data(a,b,c):
array0 = []
array1 = []
array2 = []
array3 = []
array4 = []
array5 = []
array6 = []
array7 = []
array8 = []
array9 = []
array10 = []
array11 = []
array12 = []
array13 = []
array14 = []
array15 = []
array16 = []
array17 = []
array18 = []
array19 = []
array20 = [] …Run Code Online (Sandbox Code Playgroud) 我有这个代码来分割字符串.目前,如果计数器等于存在数据的行数,它将正常运行.但是,这个行数是可变的.如果存在数据,如何使for循环运行?
Sub SplitToColumns()
Range("A1").Select
For Counter = 0 To 100 Step 1
Selection.TextToColumns Destination:=ActiveCell, DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
Tab:=False, Semicolon:=False, Comma:=True, Space:=False, _
Other:=False, _
FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _
TrailingMinusNumbers:=True
ActiveCell.Offset(1, 0).Select
Next Counter
End Sub
Run Code Online (Sandbox Code Playgroud) apache ×1
excel ×1
excel-2007 ×1
excel-vba ×1
flask ×1
linux-kernel ×1
python ×1
system-calls ×1
vba ×1