私の友人には以下の割り当てがあります。誰でも「C」でこれを行う方法をガイドできますか。ガイドだけで十分です。
すべてのプロセスリストをファイルに保存し、すべてのプロセスをUIDでソートするプログラムを作成します。
例えば:
./a.out processidlist.txt
情報をprocessidlist.txtに保存する必要があります。
このprocessidlist.txtでは、UIDを使用してプロセスを並べ替える必要があります。
彼は以下を試しました
ps –A –o UID > outputfile
ありがとう
#include <stdio.h>
#include <stdlib.h>
int main( int argc, char *argv[] )
{
FILE *fp1, *fp2;
FILE *fp;
int status;
char path[1035];
fp1 = fopen( argv[1], "w" );
if ( ! fp1 )
{
printf("Error opening file %s\n", argv[1]);
}
/* Open the command for reading. */
fp = popen("ps -Af | sort -k1", "r");
if (fp == NULL) {
printf("Failed to run command\n" );
exit;
}
/* Read the output a line at a time - output it. */
while (fgets(path, sizeof(path)-1, fp) != NULL) {
printf("%s", path);
fputs( path, fp1 );
}
/* close */
pclose(fp);
fclose(fp1);
return 0;
}