There is a bug in Greasemonkey that makes it possible for a site admin to check if Greasemonkey is installed in the browser. But it's not possible to check if it's active except if you track for the changes a specific script does to the page. So if the site admin checks for the script changes he can recognize it and there is no option to avoid it, but in general it's not possible.
u mean like unusual behaviour from a user which is different from other users?
is that the only way?
Unusual behavior like clicking a link 1000 times per second is one way. Other is if a script add elements/styles/javascript/... to the page, the author can try to track this. So every modification to the page can be tracked.
can a website admin know that we are using greasemonkey or other scripts? if so. how to avoid it?
the question says it all. how to run greasemonkey or any other scripts without the site admin knowing?