Linux Startup and Shutdown Interview Preparation Guide
Download PDF

Linux Shutdown & Startup frequently Asked Questions by expert members with experience in Linux Startup and Shutdown. These questions and answers will help you strengthen your technical skills, prepare for the new job test and quickly revise the concepts

21 Linux Shutdown & Startup Questions and Answers:

Table of Contents

Linux Shutdown & Startup Interview Questions and Answers
Linux Shutdown & Startup Interview Questions and Answers

9 :: In this program the allocated memory block can store
<pre lang="c" line="1" cssfile="hk1_style">
#include<stdio.h>
#include<stdlib.h>

int main()
{
int *ptr;
ptr = malloc(10);
return 0;
}
a) int
b) char
c) float
d) all of the mentioned

d) all of the mentioned
Explanation:
When the malloc() is used without typecasting the default type is void*.

10 :: Please tell me output of this program?

#include<stdio.h>
#include<stdlib.h>

int main()
{
int *ptr;
ptr = (int *)calloc(1,sizeof(int));
if (ptr != 0)
printf("%dn",*ptr);
return 0;
}
a) 0
b) -1
c) garbage value
d) none of the mentioned

a) 0
Explanation:
The memory allocated by calloc() contains 0 until process does not make any change to it.
Output:
[root@localhost google]# gcc -o san san.c
[root@localhost google]# ./san
0
[root@localhost google]

13 :: What is the output of this program?

#include<stdio.h>
#include<stdlib.h>

int main()
{
int ret;
int *ptr;
ptr = (int *)malloc(sizeof(int)*10);
free(ptr);
free(ptr);
return 0;
}
a) it will print nothing
b) it will give segmentaion fault
c) undefined behaviour
d) none of the mentioned

c) undefined behaviour
Explanation:
If the free() has already called before, undefined behaviour occurs.
Output:
[root@localhost google]# gcc -o san san.c
[root@localhost google]# ./san
*** glibc detected *** ./san: double free or corruption (fasttop): 0x08f1b008 ***
======= Backtrace: =========
/lib/libc.so.6[0x4a6489f2]
./san[0x8048425]
/lib/libc.so.6(__libc_start_main+0xf3)[0x4a5e96b3]
./san[0x8048361]
======= Memory map: ========
08048000-08049000 r-xp 00000000 fd:01 394194 /home/google/san
08049000-0804a000 rw-p 00000000 fd:01 394194 /home/google/san
08f1b000-08f3c000 rw-p 00000000 00:00 0 [heap]
4a5ab000-4a5cc000 r-xp 00000000 fd:01 785334 /lib/ld-2.14.90.so
4a5cc000-4a5cd000 r-p 00020000 fd:01 785334 /lib/ld-2.14.90.so
4a5cd000-4a5ce000 rw-p 00021000 fd:01 785334 /lib/ld-2.14.90.so
4a5d0000-4a77a000 r-xp 00000000 fd:01 789110 /lib/libc-2.14.90.so
4a77a000-4a77b000 -p 001aa000 fd:01 789110 /lib/libc-2.14.90.so
4a77b000-4a77d000 r-p 001aa000 fd:01 789110 /lib/libc-2.14.90.so
4a77d000-4a77e000 rw-p 001ac000 fd:01 789110 /lib/libc-2.14.90.so
4a77e000-4a781000 rw-p 00000000 00:00 0
4a7e0000-4a7fc000 r-xp 00000000 fd:01 789128 /lib/libgcc_s-4.6.2-20111027.so.1
4a7fc000-4a7fd000 rw-p 0001b000 fd:01 789128 /lib/libgcc_s-4.6.2-20111027.so.1
b76f4000-b76f5000 rw-p 00000000 00:00 0
b770d000-b770f000 rw-p 00000000 00:00 0
b770f000-b7710000 r-xp 00000000 00:00 0 [vdso]
bfc0a000-bfc2b000 rw-p 00000000 00:00 0 [stack]
Aborted (core dumped)
[root@localhost google]#

14 :: What is the output of this program?

#include<stdio.h>
#include<stdlib.h>

int main()
{
int *ptr1;
while(1){
ptr1 = malloc(1024*1024);
if(ptr1 == 0)
break;
sleep(1);
printf("googlen");
free(ptr1);
}
return 0;
}
a) it will print "google" until the process has been stopeed by any signal
b) it will print nothing
c) segmentation fault
d) none of the mentioned

a) it will print "google" until the process has been stopeed by any signal
Explanation:
None.
Output:
[root@localhost google]# gcc -o san san.c
[root@localhost google]# ./san
google
google
google
google
google
^Z
[10]+ Stopped ./san
[root@localhost google]#

15 :: What is the output of this program?

#include<stdio.h>
#include<stdlib.h>

int main()
{
int *ptr1, *ptr2;
ptr1 = malloc(4);
*ptr1 = 10;
*ptr2 = free(ptr1);
printf("%dn",*ptr2);
return 0;
}
a) 10
b) it will print the address stored in ptr1
c) it will print the address stored in ptr2
d) it will give an error

d) it will give an error
Explanation:
The free() function returns no value.
Output:
[root@localhost google]# gcc -o san san.c
san.c: In function 'main':
san.c:8:8: error: void value not ignored as it ought to be
[root@localhost google]#

16 :: Do you have any idea what is the output of this program?

#include<stdio.h>
#include<stdlib.h>

int main()
{
int *ptr;
*ptr = 10;
*ptr = 20;
printf("%dn",*ptr);
return 0;
}
a) 10
b) 20
c) segmentation fault
d) none of the mentioned

c) segmentation fault
Explanation:
The segmentation fault occurs because memory for the pointer has not been allocated in this program.
Output:
[root@localhost google]# gcc -o san san.c
[root@localhost google]# ./san
Segmentation fault (core dumped)
[root@localhost google]#

17 :: What is the output of this program?

#include<stdio.h>

int main()
{
int *ptr;
ptr = (int *)calloc(1,sizeof(int));
*ptr = 10;
printf("%dn",*ptr);
return 0;
}
a) 0
b) -1
c) 10
d) none of the mentioned

d) none of the mentioned
Explanation:
This program will give an error because calloc() requires the header file stdlib.h.
Output:
[root@localhost google]# gcc -o san san.c
san.c: In function 'main':
san.c:6:15: warning: incompatible implicit declaration of built-in function 'calloc' [enabled by default]
[root@localhost google]#