如果我想将参数传递给awk脚本文件,我该怎么做?
#!/usr/bin/awk -f
{print $1}
Run Code Online (Sandbox Code Playgroud)
这里我想打印从shell传递给脚本的第一个参数,如:
bash-prompt> echo "test" | ./myawkscript.awk hello
bash-prompt> hello
Run Code Online (Sandbox Code Playgroud) 我使用asyncTask显示Dialog,然后几分钟后启动一个新活动.
不幸的是,活动在任务完成之前开始了???
package com.android.grad;
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.widget.Toast;
public class LoginTask extends AsyncTask<Void, Void, Boolean> {
private Activity activity;
private ProgressDialog pd;
public LoginTask(Activity activity) {
this.activity = activity;
}
@Override
protected void onPreExecute() {
pd = ProgressDialog.show(activity, "Signing in",
"Please wait while we are signing you in..");
}
@Override
protected Boolean doInBackground(Void... arg0) {
try {
Thread.sleep(10000000);
} catch (InterruptedException e) {
}
pd.dismiss();
return true;
}
@Override
protected void onPostExecute(Boolean result) {
Toast.makeText(activity, Boolean.toString(result), …Run Code Online (Sandbox Code Playgroud) 如何以编程方式关闭我的应用程序?
我用了
finish();
Run Code Online (Sandbox Code Playgroud)
要么
android.os.Process.killProcess(android.os.Process.myPid());
Run Code Online (Sandbox Code Playgroud)
要么
System.exit(0);
Run Code Online (Sandbox Code Playgroud)
要么
moveTaskToBack(true);
Run Code Online (Sandbox Code Playgroud)
但它关闭了当前的运行活动,但我需要关闭整个应用程序?
我需要关闭应用程序以检索一些内存,然后再次重新启动应用程序.
要么
有没有办法清除应用程序的所有内存?
导入模块时我对某些东西感到困惑,比如:
use POSIX;
Run Code Online (Sandbox Code Playgroud)
&
use POSIX();
Run Code Online (Sandbox Code Playgroud)
&
use POSIX qw(WNOHANG);
Run Code Online (Sandbox Code Playgroud)
这些有use什么区别?
正如OS概念书中所说明的那样,“ 进程状态”部分:进程定义了状态:新建,就绪,运行,等待和终止。
我在新状态和就绪状态之间有冲突,我知道在就绪状态下,进程分配在内存中,并且分配了创建时所需的所有资源,但它仅在等待CPU时间(调度)。但是新的状态是什么?将其分配到内存之前的上一个阶段是什么?
我是ANSI C的初学者,我有一个问题,这可能是一个愚蠢的问题,我很抱歉.
#include<stdio.h>
main()
{
int age;
printf("Hello World!\n");
printf("Please enter your age: ");
scanf("%d", &age);
printf("You entered %d\n", age);
fflush(stdin);
getchar();
}
Run Code Online (Sandbox Code Playgroud)
这是我学习scanf功能的第二个程序.我的问题是:我知道printf,scanf,fflush,stdin和getchar是在stdio.h中定义的,但只有当我使用fflush(stdin)时我必须把#include < stdio.h >,但是当使用任何其他方法时我可以删除该行#include.
这是C语言的第三个程序.该程序是为了演示字符串概念.
从研究中我知道字符串在其末尾有一个空字符'\ 0'来终止字符串.
我写了那段代码:
main()
{
char name[8];
strcpy(name, "Mahmoud");
printf("The contents of name are %s\n", name);
getchar();
}
Run Code Online (Sandbox Code Playgroud)
在这段代码中,我声明了char类型的数组以保存字符串.我的名字"Mahmoud"是7个字符,我声明大小为8的名称,"Mahmoud"为7,"\ 0"为1,它正常工作.
但是在以下代码中:
main()
{
char name[8];
strcpy(name, "MahmoudEmam");
printf("The contents of name are %s\n", name);
getchar();
}
Run Code Online (Sandbox Code Playgroud)
当我显示名称时,输出是"MahmoudEmam",虽然名称的大小是8.
它是怎么做的?
我有变量包含: No such file or directory at ./EMSautoInstall.pl line 50.
我想创建变量contains No such file or directory和另一个包含at ./EMSautoInstall.pl line 50.
我的REGEX是: my ( $eStmnt, $lineNO ) = $! =~ /(.*[^a][^t])(.*)/;
当我打印两个变量时,第一个包含No such file or directory但第二个包含空.
为什么会这样?
我从读取操作系统概念书中了解到,内存中的进程包括:文本部分,数据部分,堆栈和堆.
但我问的是,当创建此部分时,进程要求Kernel创建共享内存段?在堆?
另一个问题内核知道有关PCB格式的系统中每个进程的信息,并将此PCB保存在进程表中.
问题是:进程表双向链表是什么?
我很困惑.
第一:
int *ptr;
ptr = malloc(10 * sizeof(int));
Run Code Online (Sandbox Code Playgroud)
这种类型在运行时获取动态(堆)内存,而不是像数组一样编译时.
malloc()NULL如果没有记忆,可能会返回.
并且NULL是#define标准C库中的一个#define NULL ((void *)0)
所以,如果malloc返回NULL它在运行时执行,编译器将如何替换NULL,void *0我知道任何文本替换发生在预编译阶段
我的程序启动一些服务并将其输出存储在tmp变量中,如果它以FATAL关键字开头,我想匹配变量的内容吗?如果它包含我将Port in use使用echo命令打印
例如,如果tmp包含FATAL: Exception in startup, exiting.
我可以通过以下方式完成sed:echo $tmp | sed 's/^FATAL.*/"Port in use"/'
但我想使用内置if来匹配模式.如何使用shell内置功能来匹配REGEX?
我有两个问题:
这段代码:
struct employee
{
char name[20];
int married :1;
};
Run Code Online (Sandbox Code Playgroud)
结婚有多少记忆?
如果我有多个位大小的字段将它们放在保持个性的相同变量中是否很好?
喜欢:
struct employee
{
char name[31];
int married :1;
int manager :2;
int children :4;
};
Run Code Online (Sandbox Code Playgroud)
要么
struct employee
{
char name[31];
int flage; /* one bit for married, one for manager, and 4 bits for children */
};
Run Code Online (Sandbox Code Playgroud)
哪一个更好的内存使用和为什么???
我正在编写一个Perl脚本来自动化一些软件安装.
在我的脚本中,我运行另一个bash脚本并获取其输出并再次打印它.
print `/home/me/build.sh`;
Run Code Online (Sandbox Code Playgroud)
但build.sh脚本需要8分钟,所以我的脚本等到8分钟,脚本完成打印输出的开始.
如何在build.sh程序中打印每一行,因为它在bash shell中运行?
正如下面的评论我使用 system ("/home/me/build.sh");
但输出转到shell但是我在我的脚本中重定向到我的日志文件,
open $fh, "> filename";
*STDOUT = $fh;
*STDERR = $fh;
Run Code Online (Sandbox Code Playgroud)
那么当我使用系统功能时,它的输出将被重定向到文件名,但事实并非如此.
我应该用print system ("/home/me/build.sh");而不是system ("/home/me/build.sh");吗?
完整代码:
#!/usr/bin/perl
use strict;
use warnings;
use IO::File;
my %DELIVERIES = ();
my $APP_PATH = $ENV{HOME};
my $LOG_DIR = "$APP_PATH/logs";
my ($PRG_NAME) = $0 =~ /^[\/.].*\/([a-zA-Z]*.*)/;
main(@argv);
sub main
{
my @comps = components_name();
my $comp;
my $pid;
while ( scalar @comps ) {
$comp = pop @comps;
if …Run Code Online (Sandbox Code Playgroud)