Я хочу выполнить скрипт из c-программы, которую я хочу, чтобы он работал параллельно. Для этого я написал этот код.
#include <stdio.h>
main()
{
pthread_t hwdiagT;
if(pthread_create(&hwdiagT, NULL, &hwdiagScriptExecution, NULL) == ERROR)
{
printf("%s():pthread_cretation failed for hwdiag script execution",__func__);
}
}
void *hwdiagScriptExecution()
{
/* run diags after rpd hw is up*/
FILE *pp;
pp=popen("/usr/bin/hwdiag allquick", "w");
if ( pp == NULL ) {
printf("ERROR: Couldn't run hardware diagnostics.");
}
else {
pclose(pp);
}
return NULL;
}
Для параллельного выполнения я попытался поместить скрипт в поток, но, похоже, он не работает. Похоже, этот поток получает блок, пока весь сценарий не будет выполнен. Есть ли способ добиться этого параллельного выполнения скрипта.