Stack Exchange
what's mean “&” in the parameter of command line?
In the "The Linux Programming interface" has a segment code:
static void
handler(int sig)
{
    ........
}

int
main(int argc, char *argv[])
{
    int n, numSecs;
    sigset_t pendingMask, blockingMask, emptyMask;

    printf("%s: PID is %ld\n", argv[0], (long) getpid());


    for (n = 1; n < NSIG; n++)          
        (void) signal(n, handler);      

    if (argc > 1) {
        numSecs = getInt(argv[1], GN_GT_0, NULL);

        sigfillset(&blockingMask);
        if (sigprocmask(SIG_SETMASK, &blockingMask, NULL) == -1)
            errExit("sigprocmask");

        printf("%s: sleeping for %d seconds\n", argv[0], numSecs);
        sleep(numSecs);

        if (sigpending(&pendingMask) == -1)
            errExit("sigpending");

        printf("%s: pending signals are: \n", argv[0]);
        printSigset(stdout, "\t\t", &pendingMask);

        sigemptyset(&emptyMask);         
        if (sigprocmask(SIG_SETMASK, &emptyMask, NULL) == -1)
            errExit("sigprocmask");
    }

    while (!gotSigint)                   
        continue;

    for (n = 1; n < NSIG; n++)           enter code here
        if (sigCnt[n] != 0)
            printf("%s: signal %d caught %d time%s\n", argv[0], n,
                    sigCnt[n], (sigCnt[n] == 1) ? "" : "s");

    exit(EXIT_SUCCESS);
}

and run it as follow:
$ ./sig_receiver 15 &
If i run it as follow:                               
$ ./sig_receiver 15
I found there is no different in this two methmod.
what does the "&" mean? 

It's not a parameter to the program... it's for the shell...

https://stackoverflow.com/questions/13338870/what-does-at-the-end-of-a-linux-command-mean

& is to run the program in the background in shell

@Karthick is right
